Skip to content

Command line change requested by Dave Crossland#14

Closed
dngyan wants to merge 2 commits intofontforge:masterfrom
dngyan:master
Closed

Command line change requested by Dave Crossland#14
dngyan wants to merge 2 commits intofontforge:masterfrom
dngyan:master

Conversation

@dngyan
Copy link
Copy Markdown

@dngyan dngyan commented Aug 19, 2012

make --help call what is currently --usage and --docs call what is
currently --help

make --help call what is currently --usage and --docs call what is
currently --help
@khaledhosny
Copy link
Copy Markdown
Contributor

Could you please redo the patch without changing line endings from Unix to DOS, it is near impossible to see what the real change is.

@khaledhosny
Copy link
Copy Markdown
Contributor

OK, merging the patch manually, git am was smart enough to discard the line ending changes. Please edit also the help message itself to reflect the changes.

@dngyan
Copy link
Copy Markdown
Author

dngyan commented Aug 20, 2012

Hi Khaled,

Thanks for the help.

Regards,
Dong

----- Original Message -----
From: "Khaled Hosny" notifications@github.com
To: "fontforge/fontforge" fontforge@noreply.github.com
Cc: "Dong Yang" dngyan@hotmail.com
Sent: Sunday, 19 August, 2012 11:55:40 AM
Subject: Re: [fontforge] Command line change requested by Dave Crossland (#14)

OK, merging the patch manually, git am was smart enough to discard the line ending changes. Please edit also the help message itself to reflect the changes.


Reply to this email directly or view it on GitHub .

@davelab6
Copy link
Copy Markdown
Member

@dngyan please rebase and make a new pull request so this can be merged :)

@davelab6 davelab6 closed this Aug 21, 2012
khaledhosny added a commit that referenced this pull request Aug 27, 2012
I don't know why it is crshing now (may be the resources?) as this code have
been like that since the dawn of time.

Traceback:

  0xb78289b0 in check_image_buffers (gdisp=0x84d5c78, neww=<optimized out>, newh=7, is_bitmap=0) at gimagexdraw.c:1705
  1705	    if ( width > gdisp->gg.iwidth || depth!=gdisp->gg.img->depth ) {
  (gdb) bt
  #0  0xb78289b0 in check_image_buffers (gdisp=0x84d5c78, neww=<optimized out>, newh=7, is_bitmap=0) at gimagexdraw.c:1705
  #1  0xb782b595 in gximage_to_ximage (image=0x8527ff0, src=0xbfffa0a0, gw=<optimized out>) at gimagexdraw.c:1778
  #2  0xb782e8c2 in _GXDraw_Image (_w=0x9bf4bb0, image=<optimized out>, src=0xbfffa0a0, x=8250, y=7) at gimagexdraw.c:1981
  #3  0xb7807a98 in GDrawDrawScaledImage (w=0x9bf4bb0, img=0x8527ff0, x=8250, y=7) at gdraw.c:488
  #4  0xb781b513 in GListMarkDraw (pixmap=0x9bf4bb0, x=8250, y=1, height=19, state=gs_enabled) at ggadgets.c:482
  #5  0xb788c493 in GMatrixEdit_SubExpose (gme=0x9bd9448, pixmap=0x9bf4bb0, event=0xbfffa400) at gmatrixedit.c:1691
  #6  0xb788c6b1 in matrixeditsub_e_h (gw=0x9bf4bb0, event=0xbfffa400) at gmatrixedit.c:1723
  #7  0xb78040da in _GWidget_Container_eh (gw=0x9bd9178, event=0xbfffa400) at gcontainer.c:269
  #8  0xb7878001 in dispatchEvent (gdisp=0x84d5c78, event=0xbfffa5ec) at gxdraw.c:3959
  #9  0xb7878162 in GXDrawProcessOneEvent (gdisp=0x84d5c78) at gxdraw.c:3991
  #10 0xb7808606 in GDrawProcessOneEvent (gdisp=0x84d5c78) at gdraw.c:748
  #11 0x080c77ff in ContextChainEdit (sf=0x9aa3c68, fpst=0x8ad982c, gfi=0x9afbfc0, newname=0x0, layer=1) at contextchain.c:3207
  #12 0x0818f14a in _LookupSubtableContents (sf=0x9aa3c68, sub=0x8a9d43c, sd=0x0, def_layer=1) at lookupui.c:5531
  #13 0x0813138d in LookupSubtableContents (gfi=0x9afbfc0, isgpos=0) at fontinfo.c:5941
  #14 0x08136a16 in LookupMouse (gfi=0x9afbfc0, isgpos=0, event=0xbfffe930) at fontinfo.c:7336
  #15 0x08136ccc in lookups_e_h (gw=0x9b98230, event=0xbfffe930, isgpos=0) at fontinfo.c:7380
  #16 0x08136d78 in gsublookups_e_h (gw=0x9b98230, event=0xbfffe930) at fontinfo.c:7399
  #17 0xb788f3b0 in drawable_e_h (pixmap=0x9b98230, event=0xbfffe930) at gdrawable.c:219
  #18 0xb78048a7 in _GWidget_Container_eh (gw=0x9b98230, event=0xbfffe930) at gcontainer.c:393
  #19 0xb7878001 in dispatchEvent (gdisp=0x84d5c78, event=0xbfffeb1c) at gxdraw.c:3959
  #20 0xb7878480 in GXDrawEventLoop (gd=0x84d5c78) at gxdraw.c:4058
  #21 0xb78086c1 in GDrawEventLoop (gdisp=0x84d5c78) at gdraw.c:766
  #22 0x0822457c in main (argc=1, argv=0xbffff134) at startui.c:1501
@coolwanglu coolwanglu mentioned this pull request Mar 5, 2013
skef added a commit that referenced this pull request Jan 31, 2026
Replace all GLib function calls in the fontforge library with portable
alternatives to enable MSVC builds for Python wheel distribution.

Key changes:
- Add ffglib_compat.h with portable replacements for GLib functions:
  - ff_ascii_strtod/ff_ascii_formatd for locale-independent float I/O
  - ff_utf8_strlen, ff_strstrip, ff_ascii_strcasecmp
  - ff_uri_unescape_string, ff_random_*, ff_get_charset
  - FFArray (replaces GArray), FFList (replaces GList)
- Add optional libunibreak support for Unicode line breaking (UAX #14)
  with simple Latin-text fallback when not available
- Add FindLibunibreak.cmake and ENABLE_LIBUNIBREAK build option
- Update plugin.c/h to use FFList instead of GList_Glib
- Replace GDateTime with standard C time functions in print.c, cvexport.c
- Replace g_file_open_tmp/g_mkstemp with portable alternatives
- Add ffprocess.c/h for process-related utility functions

The fontforge library no longer makes direct GLib function calls.
views.h and fontforgeui.h still include ffglib.h for fontforgeexe
compatibility (the GUI will continue to use GLib).

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
skef added a commit that referenced this pull request Jan 31, 2026
Replace all GLib function calls in the fontforge library with portable
alternatives to enable MSVC builds for Python wheel distribution.

Key changes:
- Add ffglib_compat.h with portable replacements for GLib functions:
  - ff_ascii_strtod/ff_ascii_formatd for locale-independent float I/O
  - ff_utf8_strlen, ff_strstrip, ff_ascii_strcasecmp
  - ff_uri_unescape_string, ff_random_*, ff_get_charset
  - FFArray (replaces GArray), FFList (replaces GList)
- Add optional libunibreak support for Unicode line breaking (UAX #14)
  with simple Latin-text fallback when not available
- Add FindLibunibreak.cmake and ENABLE_LIBUNIBREAK build option
- Update plugin.c/h to use FFList instead of GList_Glib
- Replace GDateTime with standard C time functions in print.c, cvexport.c
- Replace g_file_open_tmp/g_mkstemp with portable alternatives
- Add ffprocess.c/h for process-related utility functions

The fontforge library no longer makes direct GLib function calls.
views.h and fontforgeui.h still include ffglib.h for fontforgeexe
compatibility (the GUI will continue to use GLib).

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
skef added a commit that referenced this pull request Feb 8, 2026
Replace all GLib function calls in the fontforge library with portable
alternatives to enable MSVC builds for Python wheel distribution.

Key changes:
- Add ffglib_compat.h with portable replacements for GLib functions:
  - ff_ascii_strtod/ff_ascii_formatd for locale-independent float I/O
  - ff_utf8_strlen, ff_strstrip, ff_ascii_strcasecmp
  - ff_uri_unescape_string, ff_random_*, ff_get_charset
  - FFArray (replaces GArray), FFList (replaces GList)
- Add optional libunibreak support for Unicode line breaking (UAX #14)
  with simple Latin-text fallback when not available
- Add FindLibunibreak.cmake and ENABLE_LIBUNIBREAK build option
- Update plugin.c/h to use FFList instead of GList_Glib
- Replace GDateTime with standard C time functions in print.c, cvexport.c
- Replace g_file_open_tmp/g_mkstemp with portable alternatives
- Add ffprocess.c/h for process-related utility functions

The fontforge library no longer makes direct GLib function calls.
views.h and fontforgeui.h still include ffglib.h for fontforgeexe
compatibility (the GUI will continue to use GLib).

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
skef added a commit that referenced this pull request Feb 16, 2026
Replace all GLib function calls in the fontforge library with portable
alternatives to enable MSVC builds for Python wheel distribution.

Key changes:
- Add ffglib_compat.h with portable replacements for GLib functions:
  - ff_ascii_strtod/ff_ascii_formatd for locale-independent float I/O
  - ff_utf8_strlen, ff_strstrip, ff_ascii_strcasecmp
  - ff_uri_unescape_string, ff_random_*, ff_get_charset
  - FFArray (replaces GArray), FFList (replaces GList)
- Add optional libunibreak support for Unicode line breaking (UAX #14)
  with simple Latin-text fallback when not available
- Add FindLibunibreak.cmake and ENABLE_LIBUNIBREAK build option
- Update plugin.c/h to use FFList instead of GList_Glib
- Replace GDateTime with standard C time functions in print.c, cvexport.c
- Replace g_file_open_tmp/g_mkstemp with portable alternatives
- Add ffprocess.c/h for process-related utility functions

The fontforge library no longer makes direct GLib function calls.
views.h and fontforgeui.h still include ffglib.h for fontforgeexe
compatibility (the GUI will continue to use GLib).

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
iorsh pushed a commit that referenced this pull request Feb 21, 2026
* Enable MSVC compilation of fontforge module
* Port GLib-using code to C++
* Replace GLib functions with C++ std:: equivalents for MSVC compatibility.
* Add extern "C" guards to C headers
* Remove deprecated 'register' keyword
* Add explicit casts to malloc(), realloc() etc (C++ requires this)
* All Unicode library files now compile as C++
* Port most gutils files to C++
* Port 17 fontforge files to C++
* Remove GLib dependency from fontforge library
* Replace all GLib function calls in the fontforge library with portable
alternatives to enable MSVC builds for Python wheel distribution.
- Add optional libunibreak support for Unicode line breaking (UAX #14)
  with simple Latin-text fallback when not available
- Add ffprocess.c/h for process-related utility functions
* Add MSVC compatibility macros and fixes
* Simplified workflow focused on Python module builds (Linux, macOS, and Windows MSVC)
* Add mINI header-only INI parser library for plugin configuration
* Add vcpkg.json manifest for Windows MSVC dependencies
* Port files with C++ changes to .cpp extension
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants