![]() ![]() Why? I have not omited any useful information during regeneration, have I? Or are the new compression algorithms so much better or, perhaps, even lossy? I noticed that the XML files generated by fonttools ttx -o differ, but I'm not in a position to understand whether a loss of useful information is hidden somewhere in the diff. Anyway, the file got smaller by around 10 kb wrt. So, I ignore this list and press "Generate" to create the fonts and obtain a brand new TeXGyreTermesMath-Regular.otf of size 522156 b (later: 522148 I don't know why the contents changes between compilations: the file contains a lot of nontextual information, so it cannot be meaningfully inspected in a simple text editor). The detailed information would be too long to review in detail I don't understand it anyway. Glyph containing overlapped hints (in the same hintmask) Glyph design: drawing the first capital letters ( .Starting with TeX Gyre Termes Math v 1.543, I open the file texgyretermes-math.otf of size 532404 b with fontforge, notice that "Compact" is not checked, press Ctrl+Shift+G to regenerate the fonts into file TeXGyreTermesMath-Regular.otf, leaving all the options at their defaults, and obtain a bunch of errors:.Missing Points at Extrema: The extrema are the points on curves that are the. Glyph design: O-derived letters ( C G Q ) Opening the FontForge font creation program on a Windows 10 computer.Glyph design: I-derived letters ( H J ).Glyph design: box capital letters ( E L F T ).Glyph design: V-derived letters ( X W Y A ).That’s because those curve points are very near horizontal or vertical. But the extremas are very close to the existing on-curve points (filled circles). But that would make a counter with eight bézier points, which is a bit excessive and difficult to edit. You can see that the inner contour needs four extrema points, denoted by in fontforge with ⴲ points (you may need to enable View → Show → Extrema). Think of them as protective bumpers on your letters that keep your font from getting distorted by dumb renderers. Extremas are just extra points on the ends that help protect glyph outlines, since fonts undergo much more heavy-duty scaling and rasterizing than most other forms of vector art. No vector illustration program requires extremas on its paths. But the truth is, most renderers get along fine without any extremas. It also makes it easier to measure stems and set sidebearings, since you can measure distances between points instead of vague spots along a curve. ![]() ![]() Why is this a thing? Well apparently it helps with hinting, by letting the renderer know the bounding boxes of the glyph outline. The curve in the middle folds back on itself, so it needs to be split in two (right). The curve on the left is acceptable-it doesn’t change direction in the x or y axis. A handy (but not foolproof) way of checking this is looking to see if the curve fits into the rectangle determined by its endpoints (though an ‘s’ shaped curve can pass this test and still not be one-to-one). A bézier segment in a font shouldn’t change direction in either the x or the y direction-otherwise it should be split into two one-to-one segments. it has to pass both the horizontal and vertical line tests. Each bézier segment of a glyph’s outline (read: each segment between two points, not the entire glyph outline) must be a one-to-one function*-i.e. ![]()
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |