Helps to get users of your library if you don’t act like everyone trying to learn it is already an expert on all the hidden intricacies of it.
P.S. font_get_ppem() returns zero for every font. Maybe I am using it wrong but I wouldn’t know, I didn’t write the thing. hb_font = hb.font_create(hb_face) hb.font_set_scale(hb_font, projection['fontsize'], projection['fontsize']) hb.ot_font_set_funcs(hb_font) print(hb.font_get_ppem(hb_font)) >>> (x_ppem=0, y_ppem=0) On Tue, Jun 28, 2016 at 7:01 PM, Behdad Esfahbod <[email protected]> wrote: > On Tue, Jun 28, 2016 at 6:56 PM, Kelvin Ma <[email protected]> > wrote: > >> No, i’m asking why harfbuzz has the concept of multiple fonts per face, >> if that concept is useless in practice. >> > > Helps if you ask without baking your own presumptions into the question. > hb_font_t exists to hold all "configuration" needed. Adding that to > hb_face_t would have made the face unusable from multiple threads. > > Such configuration is mainly the scale, and indeed, many clients shape > with one font all the time. But there are other stuff. ppem is the other > one. When "OpenType GX" variation fonts become a thing, the variation > parameters will also be set on hb_font_t. > > >> On Tue, Jun 28, 2016 at 6:54 PM, Behdad Esfahbod <[email protected]> >> wrote: >> >>> You can't have both. Pick which you like. >>> >>> On Tue, Jun 28, 2016 at 6:43 PM, Kelvin Ma <[email protected]> >>> wrote: >>> >>>> so that’s the only way huh… >>>> doesn’t that kind of defeat the purpose of hb.font_create() and having >>>> many scaled versions of the same font? You would only ever need one font of >>>> each face, scaled to the UPEM, if the fontsize was to be applied externally >>>> after shaping already occurred. >>>> >>>> On Tue, Jun 28, 2016 at 5:51 PM, Behdad Esfahbod <[email protected]> >>>> wrote: >>>> >>>>> HarfBuzz coordinates work in a int32 space. You are free to set >>>>> whatever scales you want on the font. For example, use 6 or 8 or 10 or 16 >>>>> bits of sub-pixel precision by multiplying your scale by a number. >>>>> >>>>> On Tue, Jun 28, 2016 at 4:57 PM, Kelvin Ma <[email protected]> >>>>> wrote: >>>>> >>>>>> It appears that harfbuzz rounds all decimals to integers when giving >>>>>> glyph advances and offsets. This is causing some ugly misalignment >>>>>> problems >>>>>> in arabic shaping, as well as latin cursive fonts. (see pictures) >>>>>> >>>>>> [image: Inline image 1] >>>>>> >>>>>> [image: Inline image 2] >>>>>> >>>>>> [image: Inline image 3] >>>>>> How do I get harfbuzz to preserve the floats? >>>>>> >>>>>> _______________________________________________ >>>>>> HarfBuzz mailing list >>>>>> [email protected] >>>>>> https://lists.freedesktop.org/mailman/listinfo/harfbuzz >>>>>> >>>>>> >>>>> >>>>> >>>>> -- >>>>> behdad >>>>> http://behdad.org/ >>>>> >>>> >>>> >>> >>> >>> -- >>> behdad >>> http://behdad.org/ >>> >> >> > > > -- > behdad > http://behdad.org/ >
_______________________________________________ HarfBuzz mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/harfbuzz
