[HarfBuzz] Core Text backend not supporting font index

Jonathan Kew jfkthame at gmail.com
Wed Sep 10 07:59:17 PDT 2014


On 10/9/14 14:58, Vincent Isambart wrote:
> Hi there,
>
> I had compiled HarfBuzz with Core Text support thinking it wouldn’t hurt, but I ended up losing a few hours today because the Core Text backend always loads the first font of a TTC file, ignoring the font index.
>
> - Is this a known bug?
> - Does anyone know a way it could be fixed? I looked at the Core Text and related APIs but couldn’t find anywhere you could specify which font you want to load inside of a TTC.
> - If this cannot be fixed, would it be possible to have some sort of warning if you try to load a font with a font index > 0 with the Core Text backend, to prevent other people to lose time on this.


It looks to me like in principle, you could use the function 
CTFontManagerRegisterFontsForURL to register all the fonts in a .ttc 
file, and CTFontManagerCreateFontDescriptorsFromURL to create the 
corresponding font descriptors; those descriptors could then be used 
with CTFontCreateWithFontDescriptor to create the CTFontRef.

Would the array returned by CTFontManagerCreateFontDescriptorsFromURL 
match the order of the faces in the .ttc, so that you could look them up 
by index? I have no idea.

(Also, I haven't actually tried to use the CTFontManager APIs mentioned, 
so perhaps there are other complications I've overlooked.)

JK



More information about the HarfBuzz mailing list