SupportedLanguages in fonts

Hello,
I have a font (Estrangelo Edessa) with arabic and syrian glyphs.
Running the code below, the debugger shows only “ar” for arabic.
Yet, opening the font in FontForge, I can see that there are arabic slots with arabic glyphs, and syriac slots with syriac glyphs.
Am I doing something wrong?
My app needs to know whether at least one syriac font is installed.
Suggestion welcome.
BTW: is there a win32 way to get the same results (supported languages) without using plugins?
Thanks

dim ns as new Cocoa.NSFontManager
dim s() as String = ns.AvailableFontFamilies
dim mFnt as CoreText.CTFont

for i as Integer = 0 to UBound(s)
dim t as String = font(i)
mFnt = mFnt.CreateWithName(t,0.0)
if t = “Estrangelo Edessa” then
dim tt as string = mFnt.SupportedLanguages.Description
end if
next

Download the evaluation version of Fontlab Studio from Fontlab.com, open the font with it, then go File/Font Info, and in Encoding and Unicode, see if Syriac is checked in Unicode range. If it is checked already, this means the system is not able to accurately report all unicode ranges through the method you are using. If not, try to check it and save. Not sure if the demo will let you save, though.

Otherwise, download the fonts at http://www.bethmardutho.org/index.php/resources/fonts.html which I verified to have that Unicode range checked.

Estrangelo Edessa is actually one of the bethmardutho package.
Now, googling “syriac unicode fonts”, somewhere someone says that Apple does not have support for syriac. This could be the reason why code for syriac doesnt appear among supportedlanguages.

[quote=201033:@Carlo Rubini]Estrangelo Edessa is actually one of the bethmardutho package.
Now, googling “syriac unicode fonts”, somewhere someone says that Apple does not have support for syriac. This could be the reason why code for syriac doesnt appear among supportedlanguages.[/quote]

Exactly what I suspected.

I am not familiar enough with the inner workings of CoreText, but it is possible there is some flag raised when you try to display a character, and it is not available. Then you try to display one from the 700 Unicode range and see if it is reported as working fine or not.

Since apparently Bethmardutho is the recognized specialist for Syriac fonts, maybe you could simply list all fonts in the system and check for the name of their fonts. If necessary, give instructions to the user to download and install them.

Otherwise, you may want to have a look at OpenType specifications at http://www.microsoft.com/typography/otspec/ where I believe there is the location in the font files for such encoding. Then you could roll your own by looking directly in the font files. Kind of cumbersome, but last resort possibility.

The same site offers indications about the way Win32 treats Unicode ranges at http://www.microsoft.com/typography/unicode/cs.htm

Yep, I’ll have to rely on some sort of workaround. Thanks.