Hi there, I am trying to save a font but get the following error:
makeotfGlyphs(22682,0xa0f391d4) malloc: *** mach_vm_map(size=8388608) failed (error code=3)
*** error: can’t allocate region
*** set a breakpoint in malloc_error_break to debug
out of memory
Any ideas on how I can export the font?
That is very useful, thank you! It looks like my glyph names are too long? Can the be fixed by updating my OS maybe? See below:
[WARNING] The total size of the glyph names is greater
than the safe limit for Mac OSX 10.4.x and earlier
by 622490 bytes, and will cause crashes. [font.pfa]
[FATAL] reserved charstring op
No, the glyph names are not causing that error above. It can’t allocate memory. What kind of font is this? How many glyphs/nodes?
It is a Pan-CJK font and has 65535 glyphs. With a node count of approx. 19,660,500.
My machine has 16GB of memory, you would think that would be enough to export a font?
Is there a way to buffer the export?
MakeOTF is an 32 bit app. That means it can only allocate less than 4 GB. Did you disable subroutines? Calculating those would take ages for a font like this.
Cool thanks Georg, I am running it now without subroutines, and it seems to work! I have to divide my GSUB feature classes in bunches of 300o now to avoid the overflow of subtable problem:
GSUB feature 'locl' causes overflow of offset to a subtable (0x1156e)
I think I will write a script for this, unless you know of one?
OK I have divided the features. (Here’s the script I used. A bit rough but it worked: Wrap and Extend Features.py) I can now successfully export the font. Yah!
Unfortunately I never converted the CID glyph names when opening the original file, I should’ve un-ticked the Keep glyph names from imported files in Preferences. Would I be able to convert the CID names retrospectively? (Re-opeing the exported font with Keep glyph names from imported files unticked the does not work ) I also noted that when you do convert the CID glyph names it does not update the feature references!
You could reopen the original font. The original CID will be stored in the glyph.note. Then write a script that uses that info to rename whatever you need.