> On Jun 25, 2016, at 1:39 PM, Khaled Hosny <[email protected]> wrote: > > On Sat, Jun 25, 2016 at 01:06:27PM -0400, Kelvin Ma wrote: >>>>>> Don’t you >>>>> need >>>>>> context to be ignored if the boundaries of the text you want to shape >>>>> fall >>>>>> inside a cluster? Like in the string 'af[fluency s]tate' where only >>> the >>>>>> 'fluency s' is supposed to be shaped? >>>>> >>>>> Depends on why you are shaping “fluency s” alone, if it is because of, >>>>> say, font change, then you need HarfBuzz to know the context otherwise >>>>> you get broken Arabic shaping. >>>> >>>> Well font change would produce a separate run that wouldn’t know about >>> the >>>> other runs so context can only be within a same-direction, same-font run. >>> >>> This is wrong, font change shouldn’t break Arabic shaping, so you have >>> to pass the context even in this case. >>> >> >> If the text consists of text strings separated by formating objects, each >> text string doesn’t know about what’s around it. Because that’s at a much >> higher level in the code and harfbuzz can only handle a single font in a >> single run at a time. To artificially jam in the neighboring runs for each >> shaping attempt would involve an inordinate amount of string concatenation >> and searching on the fly. > > One can always fix his code to not do wrong assumptions. When doing text > layout you always need the full paragraph, and you should have it around > after itemisation. Itemisation does not have to be done by splitting > text, you can just store run start indices and lengths.
No, meaning font styling is created by inline styling objects. They’re like inline images except they have zero width. So a font change is really stored as a special character in between the two sections. This character is not understood by harfbuzz, which is why it does not make sense to pass anything containing it into the shaper. > > Regards, > Khaled _______________________________________________ HarfBuzz mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/harfbuzz
