Post by Jason PaguraEncoding is the order of glyph cells in the generated font's database. If
you change the encoding, so will you also change the sequence of your glyphs
in your generated font. This can lead to surprising glyphs appearing if the
Although that's true in general, I'm not sure it's true in all cases. At
the very least, there is special handling of glyphs like ".notdef", which
appears at the start of the file (in some file formats) despite being an
unencoded glyph.
I would rather say that the font's "encoding" specifies a mapping between
characters (which are abstract concepts) and a sequence of numbers inside
FontForge, and that sequence of numbers usually has consequences for how
FontForge will translate data to meet the requirements of a font file
format, when writing a font file.
One consequence of the "encoding" is that it specifies how many glyph
slots you get - but you can also always add extra "unencoded" slots.
When the "encoding" setting is not Unicode, FontForge also keeps track of
an optional Unicode number for each glyph slot, and that also affects the
translations applied when generating a font file.
The exact consequences of "encoding" do not seem to be documented, but
they certainly depend both on which encoding we're talking about and on
the font file format being generated. My impression is that the settings
that make most sense are Unicode (either BMP-only or "Full"), which stores
glyphs in order by their standard code point, and "Custom" (which makes
very few restrictions and just stores glyphs by their slot number,
assuming the user knows what the user wants).
Post by Jason Pagurawrong encoding for your system is used. Therefore, before you generate your
font, be sure to untick the Compact attribute and Reencode to Unicode (UTF-8
"Compact" *ought* to affect display only, and I wouldn't recommend turning
it off in a font that uses multiple planes of Unicode, because without it,
finding desired slots in the GUI is basically impossible. I'm aware that
"Compact" does affect some things other than display, and I think that
should be treated as a bug and fixed. UTF-8 and UTF-16 are not choices
for reencoding (and shouldn't be, since they don't describe mappings
between characters and numbers, but between numbers and byte sequences);
the available Unicode choices are "BMP" (meaning only code points U+0000
to U+FFFF) and "Full" (meaning all the code points in Unicode, which go up
to U+10FFFF).
--
Matthew Skala
***@ansuz.sooke.bc.ca People before principles.
http://ansuz.sooke.bc.ca/