Brahmic Scripts

Discussion of natural languages, or language in general.
User avatar
clawgrip
Smeric
Smeric
Posts: 1723
Joined: Wed Feb 29, 2012 8:21 am
Location: Tokyo

Brahmic Scripts

Post by clawgrip »

I'm just going to start a new thread for this rather than keep cluttering up the other thread.

I'm working on making several Turkestan Brahmi fonts. Currently I'm working on Khotanese (aka South Turkestan Brahmi) and Tocharian (aka North Turkestan Brahmi), and I'm considering making a Khotanese "cursive" one as well.

Examples of my fonts:

Khotanese:
Image

Tocharian:
Image

I want to set these up as proper unicode fonts in the Brahmi range but I don't have anything more than a basic knowledge of opentype, and have so far failed in my attempts to set up an Indic script in Unicode. If anyone knows anything about this I would really appreciate some explanation.
2+3 clusivity wrote:
clawgrip wrote:Voiced aspirates are even more rare, so rare in fact that I have never found an example of jh, so I have no idea what it looks like or if it even exists.
I think that the rareness of <jh> is probably due to its rareness in Sanskrit. This source hints at that rareness: http://www.hakuoh.ac.jp/camnavi/kyoken_ ... c_2004.pdf at page 13, and I think Colin Masica's Indo-aryan languages says something similar but I am not finding the correct page.

As an aside also, notice Khotanese's developement's on pp. 70 and 74 in the source quoted above more closely match the results of Vedic regarding both (af)fricat(iv)es and retroflexes than those in other Iranian languages in http://www.academia.edu/1748443/Introdu ... in_German_ on pp. 10-12. And, most tellingly the maintenance/development of voiceless aspirates in Khotanese seems to--perhaps--mirror those in Vedic. Based on phonology alone, I would be tempted to lump Khotanese into the Aryan ~ Dardic branch of Indo-Iranian.
clawgrip wrote:I know very little about the Khotanese language itself. My font, of course, only represents the script. Of course, I have created a number of ligatures that commonly appear in the script. Mostly the only things I know about Khotanese I have garnered from spending a lot of time looking at texts (I can tell for instance that it must have cases or something similar, because I've seen various words with changes to the final vowels, like gyastä balysä, gyastu balysu, gyastä balysi, etc.). I do know that certain ligatures actually represent individual phonemes, like ys I believe is /z/ or something similar, and that ṣṣ and śś are not geminates but digraphs representing single phonemes.
I am not sure if you have seen this, which may be very helpful: http://books.google.com/books?id=QtpQZ1 ... 22&f=false, specifically the discussion on pp. 381-82 and the illustration on p. 380.
I know from the TITUS website that there is a manuscript somewhere that has the entire alphabet printed on it. If I sort through the hundreds of images on the Dunhuang Project site, I may come across it and finally find out what Khotanese jha looks like. A lot of the Dunhuang images are the same documents as the transliterations on TITUS, but they're classified under different systems and not cross referenced so I have no idea which one is which without reading each one and and searching for the text on TITUS.
Last edited by clawgrip on Thu Aug 14, 2014 8:19 am, edited 1 time in total.

User avatar
clawgrip
Smeric
Smeric
Posts: 1723
Joined: Wed Feb 29, 2012 8:21 am
Location: Tokyo

Re: Turkestan Brahmi

Post by clawgrip »

I successfully found a text that has two clear examples of jha. Unfortunately they're both in the quick style of writing rather than the formal style, so it'll take some guesswork to figure out what the formal style will look like. At least I can use the Tocharian jha as a guide though.

Khotanese cursive script jha:
Image

Tocharian jha:
Image

User avatar
Morrígan
Avisaru
Avisaru
Posts: 396
Joined: Thu Sep 09, 2004 9:33 am
Location: Wizard Tower

Re: Turkestan Brahmi

Post by Morrígan »

I may not be any more experienced with developing Indic scripts in Opentype, but I'd be very happy to assist in this in any way I can.

I assume you are using Fontforge for this?

User avatar
2+3 clusivity
Avisaru
Avisaru
Posts: 454
Joined: Fri Mar 16, 2012 5:34 pm

Re: Turkestan Brahmi

Post by 2+3 clusivity »

The source I linked before itself sources from this book: http://www.worldcat.org/title/sakische- ... c/72733127. It does not have a google preview. Further, that source actually does not have <jh>. It has the following: <c> <ch>1 <ch>2 <j> <ɲ>1 <ɲ>2--none of which look like your samples. I'll keep digging.
linguoboy wrote:So that's what it looks like when the master satirist is moistened by his own moutarde.

User avatar
clawgrip
Smeric
Smeric
Posts: 1723
Joined: Wed Feb 29, 2012 8:21 am
Location: Tokyo

Re: Turkestan Brahmi

Post by clawgrip »


User avatar
clawgrip
Smeric
Smeric
Posts: 1723
Joined: Wed Feb 29, 2012 8:21 am
Location: Tokyo

Re: Turkestan Brahmi

Post by clawgrip »

Goatface wrote:I may not be any more experienced with developing Indic scripts in Opentype, but I'd be very happy to assist in this in any way I can.

I assume you are using Fontforge for this?
I'm using something called High Logic Font Creator to make the fonts, and Microsoft Volt to set up the Opentype features. I think I solved my problem though. I had added characters in the Devanagari range to test it out, but I hadn't actually enabled that range of Unicode in the font. My problem was solved just by clicking a check box (I think). Unfortunately, Brahmi's Unicode support is missing a lot of stuff required for these two scripts. However, someone has made a proposal, so I can design the font based on that.

User avatar
Morrígan
Avisaru
Avisaru
Posts: 396
Joined: Thu Sep 09, 2004 9:33 am
Location: Wizard Tower

Re: Turkestan Brahmi

Post by Morrígan »

clawgrip wrote:
Goatface wrote:I may not be any more experienced with developing Indic scripts in Opentype, but I'd be very happy to assist in this in any way I can.

I assume you are using Fontforge for this?
I'm using something called High Logic Font Creator to make the fonts, and Microsoft Volt to set up the Opentype features. I think I solved my problem though. I had added characters in the Devanagari range to test it out, but I hadn't actually enabled that range of Unicode in the font. My problem was solved just by clicking a check box (I think). Unfortunately, Brahmi's Unicode support is missing a lot of stuff required for these two scripts. However, someone has made a proposal, so I can design the font based on that.
The simple issue of Opentype support is a big problem, really. I've seen a lot of programs that seem to ignore opentype features unless they occur with characters in certain code blocks, but it's also been a long time since I've done anything with complex scripts.
I've had major problems using Volt, but I forget what they are.

User avatar
clawgrip
Smeric
Smeric
Posts: 1723
Joined: Wed Feb 29, 2012 8:21 am
Location: Tokyo

Re: Turkestan Brahmi

Post by clawgrip »

I still can't figure out how to get GSUB to work in OpenType. It works fine in Volt, and in a font tester I have as well as the program I use to design the font itself (which does not itself have the capacity to add OpenType scripts), but in Word and in web browsers the conjunts won't display. I just get consonant plus virama plus consonant.

Image

The left shows it being tested, and it works fine. The right window is Word. I know it's not word's problem because as you can see, other Devanagari fonts display the conjuncts just fine.

User avatar
Morrígan
Avisaru
Avisaru
Posts: 396
Joined: Thu Sep 09, 2004 9:33 am
Location: Wizard Tower

Re: Turkestan Brahmi

Post by Morrígan »

clawgrip wrote:I still can't figure out how to get GSUB to work in OpenType. It works fine in Volt, and in a font tester I have as well as the program I use to design the font itself (which does not itself have the capacity to add OpenType scripts), but in Word and in web browsers the conjunts won't display. I just get consonant plus virama plus consonant.

Image

The left shows it being tested, and it works fine. The right window is Word. I know it's not word's problem because as you can see, other Devanagari fonts display the conjuncts just fine.
Hmmm weird. What OpenType command is being used here, rlig? Or do none of the substitutions work?
I've had a lot of problems with font rendering not parsing opentype correctly, or doing so inconsistently due to odd implementation.

Also, your glyphs look great.

Richard W
Avisaru
Avisaru
Posts: 363
Joined: Sat Oct 16, 2010 8:28 pm

Re: Turkestan Brahmi

Post by Richard W »

Brahmi is already in Unicode. It's listed in http://www.unicode.org/charts/ , which points to the chart at http://www.unicode.org/charts/PDF/U11000.pdf .

If you're going to work off a mere proposal, translate its codepoints to a Private Use Area (PUA) until the proposal passes its very last ballot. Up until then, the code points may change. Even after that point, Mark Davis reserves the right to change the properties of the characters, so, as a sore example, canonical combining classes (ccc) aren't fixed until they are published in a version of Unicode, though the alert may pick them up at the beta stage. Once the codepoints are fixed, you can then convert them to the new values. You may also have to change your fonts to take account of any change in combining classes.

I wish I had something useful to say on ligatures, but I probably don't. Notepad has generally seemed better at getting performance out of fonts than Word. The latest version of Word allows one to enable OpenType features, so you may be able to get them to work that way. I don't know about browsers - even enabling SIL Graphite in Firefox is a hassle.

Richard W
Avisaru
Avisaru
Posts: 363
Joined: Sat Oct 16, 2010 8:28 pm

Re: Turkestan Brahmi

Post by Richard W »

Which scripts are you declaring in GSUB and GPOS? I've a feeling that for ligature features to work for 'Brahmi', you need to declare the lookups as being applicable for features of the default script. I wouldn't be surprised if you had to declare the lookups twice, once for VOLT to find them and again for the general purpose Uniscribe find them. Unfortnately, I'm a mere genuine tiro in this field.

User avatar
Jipí
Smeric
Smeric
Posts: 1128
Joined: Sat Apr 12, 2003 1:48 pm
Location: Litareng, Keynami
Contact:

Re: Turkestan Brahmi

Post by Jipí »

Richard W wrote:I don't know about browsers - even enabling SIL Graphite in Firefox is a hassle.
Firefox supports OpenType (except I don't know how well it supports ligatures and conjuncts in Brahmic scripts), but seems to be the only browser to support SIL Graphite. I asked at the Chromium devel list once whether Graphite would get into Chrome maybe sometime (pretty please!) and was basically told to fuck off.

User avatar
2+3 clusivity
Avisaru
Avisaru
Posts: 454
Joined: Fri Mar 16, 2012 5:34 pm

Re: Turkestan Brahmi

Post by 2+3 clusivity »

Oh damn, you beat me to it. NM my PM.
linguoboy wrote:So that's what it looks like when the master satirist is moistened by his own moutarde.

User avatar
clawgrip
Smeric
Smeric
Posts: 1723
Joined: Wed Feb 29, 2012 8:21 am
Location: Tokyo

Re: Turkestan Brahmi

Post by clawgrip »

Goatface wrote:
clawgrip wrote:I still can't figure out how to get GSUB to work in OpenType. It works fine in Volt, and in a font tester I have as well as the program I use to design the font itself (which does not itself have the capacity to add OpenType scripts), but in Word and in web browsers the conjunts won't display. I just get consonant plus virama plus consonant.

Image

The left shows it being tested, and it works fine. The right window is Word. I know it's not word's problem because as you can see, other Devanagari fonts display the conjuncts just fine.
Hmmm weird. What OpenType command is being used here, rlig? Or do none of the substitutions work?
I've had a lot of problems with font rendering not parsing opentype correctly, or doing so inconsistently due to odd implementation.

Also, your glyphs look great.
I tried variously with liga, cjct, and akhn, with no success. I'm pretty sure that in that screenshotI was using akhn (as was the Devanagari font below it, for the first glyph, kṣa).

Thanks for the comment on the glyphs.
Richard W wrote:Brahmi is already in Unicode. It's listed in http://www.unicode.org/charts/ , which points to the chart at http://www.unicode.org/charts/PDF/U11000.pdf .
I know Brahmi is listed, and that proposal is specifically for the several extra glyphs that are required for Turkestan Brahmi such as Tocharian, Khotanese, Tumshuqese and Uyghur Brahmi.
If you're going to work off a mere proposal, translate its codepoints to a Private Use Area (PUA) until the proposal passes its very last ballot. Up until then, the code points may change. Even after that point, Mark Davis reserves the right to change the properties of the characters, so, as a sore example, canonical combining classes (ccc) aren't fixed until they are published in a version of Unicode, though the alert may pick them up at the beta stage. Once the codepoints are fixed, you can then convert them to the new values. You may also have to change your fonts to take account of any change in combining classes.
The proposal is deficient anyway because it lacks the Khotanesese vowel sign EI (I don't see it even mentioned anywhere in the proposal) and the Khotanese hook sign, which the proposal explicitly leaves out because its phonetic value is not clear. I've never made a Unicode font like this before. I'm not knowledgeable about combining classes.
I wish I had something useful to say on ligatures, but I probably don't. Notepad has generally seemed better at getting performance out of fonts than Word. The latest version of Word allows one to enable OpenType features, so you may be able to get them to work that way. I don't know about browsers - even enabling SIL Graphite in Firefox is a hassle.
I know that my version of word supports OpenType for Indic scripts such as Devanagari and Khmer, so I figure that theoretically I should be able to make a font that it also supports.
Richard W wrote:Which scripts are you declaring in GSUB and GPOS? I've a feeling that for ligature features to work for 'Brahmi', you need to declare the lookups as being applicable for features of the default script. I wouldn't be surprised if you had to declare the lookups twice, once for VOLT to find them and again for the general purpose Uniscribe find them. Unfortnately, I'm a mere genuine tiro in this field.
My font program is too old and does not include Brahmi; it ends at #10FFFF. I've just been experimenting with the Devanagari range for now. I may buy a new version of the program that supports higher ranges.
I know very little about writing OpenType code. There's surprisingly little that I can find on the Internet, particularly for designing Indic scripts. It's all just guesswork for me. How exactly do I declare them twice?
2+3 clusivity wrote:
Oh damn, you beat me to it. NM my PM.
Thanks anyway!
Last edited by clawgrip on Sat Oct 05, 2013 8:30 pm, edited 2 times in total.

User avatar
clawgrip
Smeric
Smeric
Posts: 1723
Joined: Wed Feb 29, 2012 8:21 am
Location: Tokyo

Re: Turkestan Brahmi

Post by clawgrip »

clawgrip wrote:I successfully found a text that has two clear examples of jha. Unfortunately they're both in the quick style of writing rather than the formal style, so it'll take some guesswork to figure out what the formal style will look like. At least I can use the Tocharian jha as a guide though.

Khotanese cursive script jha:
Image

Tocharian jha:
Image
Incidentally I've come up with two possibilities:

ImageImage
Which one looks better?

Richard W
Avisaru
Avisaru
Posts: 363
Joined: Sat Oct 16, 2010 8:28 pm

Re: Turkestan Brahmi

Post by Richard W »

clawgrip wrote:I'm not knowledgeable about combining classes.
They're not an issue for most Indic scripts. In Brahmi as encoded so far, everything but the virama has ccc 0, so you don't need to know anything about them. I mentioned combining class because the last minute changes make life more difficult for Tai Tham fonts and could bite other people in the future.
clawgrip wrote:I know that my version of word supports OpenType for Indic scripts such as Devanagari and Khmer, so I figure that theoretically I should be able to make a font that it also supports.
What features are enabled by default depends on the script. There are many fancy typographical features (e.g. swash glyphs) that used to be completely disabled in Word. The latest version allows you to enable them for a font, so you may be able to force the features you are using to be enabled for your font.
clawgrip wrote:My font program is too old and does not include Brahmi; it ends at #10FFFF.
Do you mean 0xFFFF? Unicode itself ends at 0x10FFFF.
clawgrip wrote:
Richard W wrote:Which scripts are you declaring in GSUB and GPOS? I've a feeling that for ligature features to work for 'Brahmi', you need to declare the lookups as being applicable for features of the default script. I wouldn't be surprised if you had to declare the lookups twice, once for VOLT to find them and again for the general purpose Uniscribe find them. Unfortnately, I'm a mere genuine tiro in this field.
How exactly do I declare them twice?
Unfortunately, I don't speak VOLT. (I didn't like the look of some of its terms of use.) I use my own font generator in which the relevant source code looks like (after losts of trimming):

Code: Select all

GSUB
-- Test addition
    feature ccmp_test ccmp_test end feature
    feature liga_test liga_test end feature
    feature clig_test clig_test end feature
    feature rlig_test rlig_test end feature
-- Back top standard definitions
  script DFLT
    language default
      ccmp_3 
-- Test addition - comment out for final product!
--      ccmp_test
      liga_test clig_test rlig_test
    end language
  end script
  script latn
    language default
      aalt_2 ccmp_5
-- Test addition - comment out for final product!
--      ccmp_test
        liga_test
        clig_test blwf_test abvs_test blws_test pstf_test rlig_test
    end language
  end script
  feature ccmp_5
    slkp2 slkp3
    ccmp_test -- Test feature only
  end feature
    lookup liga_test
        type ligature
        subtable liga_test
    end lookup
-- other features and lookups trimmed from post
end GSUB

-- Lookup subtable definitions start here.
-- Ligatures for detecting features
lookup liga_test
    o f f two > on
end lookup
-- (Further lookups omitted from post)
Potentially confusingly, I have distinct name spaces for feature records, lookups and lookup subtables, and define the lookup subtables with the keyword lookup. In my example, for script DEFA (the default script), the default language has a feature liga defined by feature record liga_test, which in turn is defined by lookup liga_test, which in turn is defined by subtable liga_test. It also has a feature ccmp defined by feature record ccmp_3, which I have trimmed from the post. Similarly, for the script latn (i.e. Latin), the default language has a feature liga defined by the same lookup liga_test and extended by the lookup . It also has a feature ccmp defined by feature records ccmp_5 and ccmp_test, which I have trimmed from the post. Thus the lookups liga_test and ccmp_test are defined for both the default and Latn scripts. My tool actually ensures that the same bytes of the font file are used for the identical lookups used by the different scripts.

This follows the structure of the GSUB table (http://www.microsoft.com/typography/otspec/chapter2.htm) very closely, and I don't know if VOLT allows it. Some of the font creation tools are so far removed from the font file structure that one might not have such control.

I fear this might not help.

User avatar
clawgrip
Smeric
Smeric
Posts: 1723
Joined: Wed Feb 29, 2012 8:21 am
Location: Tokyo

Re: Turkestan Brahmi

Post by clawgrip »

Richard W wrote:
clawgrip wrote:I'm not knowledgeable about combining classes.
They're not an issue for most Indic scripts. In Brahmi as encoded so far, everything but the virama has ccc 0, so you don't need to know anything about them. I mentioned combining class because the last minute changes make life more difficult for Tai Tham fonts and could bite other people in the future.
Sounds like I would need to know it then. There are plenty of things I wonder about, like for example, how a vowel sign character is automatically connected to a dotted circle.
clawgrip wrote:I know that my version of word supports OpenType for Indic scripts such as Devanagari and Khmer, so I figure that theoretically I should be able to make a font that it also supports.
What features are enabled by default depends on the script. There are many fancy typographical features (e.g. swash glyphs) that used to be completely disabled in Word. The latest version allows you to enable them for a font, so you may be able to force the features you are using to be enabled for your font.
That's why I was testing it in Devangari first. I know for a fact that Devanagari features are functional in Word. I wonder if it just doesn't work because I don't have all the expected Devanagari features turned on. Maybe Word has determined that it is a defective font, but the other programs don't check as thoroughly?
clawgrip wrote:My font program is too old and does not include Brahmi; it ends at #10FFFF.
Do you mean 0xFFFF? Unicode itself ends at 0x10FFFF.
Indeed you're right. Brahmi is from 11000. I misread. So I guess my program does allow me to put things in the Brahmi range, it just doesn't realize that it's the Brahmi range. But I may run into problems if I try to do it without the program being aware of what I'm doing.
clawgrip wrote:
Richard W wrote:Which scripts are you declaring in GSUB and GPOS? I've a feeling that for ligature features to work for 'Brahmi', you need to declare the lookups as being applicable for features of the default script. I wouldn't be surprised if you had to declare the lookups twice, once for VOLT to find them and again for the general purpose Uniscribe find them. Unfortnately, I'm a mere genuine tiro in this field.
How exactly do I declare them twice?
Unfortunately, I don't speak VOLT. (I didn't like the look of some of its terms of use.) I use my own font generator in which the relevant source code looks like (after losts of trimming):

Code: Select all

GSUB
-- Test addition
    feature ccmp_test ccmp_test end feature
    feature liga_test liga_test end feature
    feature clig_test clig_test end feature
    feature rlig_test rlig_test end feature
-- Back top standard definitions
  script DFLT
    language default
      ccmp_3 
-- Test addition - comment out for final product!
--      ccmp_test
      liga_test clig_test rlig_test
    end language
  end script
  script latn
    language default
      aalt_2 ccmp_5
-- Test addition - comment out for final product!
--      ccmp_test
        liga_test
        clig_test blwf_test abvs_test blws_test pstf_test rlig_test
    end language
  end script
  feature ccmp_5
    slkp2 slkp3
    ccmp_test -- Test feature only
  end feature
    lookup liga_test
        type ligature
        subtable liga_test
    end lookup
-- other features and lookups trimmed from post
end GSUB

-- Lookup subtable definitions start here.
-- Ligatures for detecting features
lookup liga_test
    o f f two > on
end lookup
-- (Further lookups omitted from post)
Potentially confusingly, I have distinct name spaces for feature records, lookups and lookup subtables, and define the lookup subtables with the keyword lookup. In my example, for script DEFA (the default script), the default language has a feature liga defined by feature record liga_test, which in turn is defined by lookup liga_test, which in turn is defined by subtable liga_test. It also has a feature ccmp defined by feature record ccmp_3, which I have trimmed from the post. Similarly, for the script latn (i.e. Latin), the default language has a feature liga defined by the same lookup liga_test and extended by the lookup . It also has a feature ccmp defined by feature records ccmp_5 and ccmp_test, which I have trimmed from the post. Thus the lookups liga_test and ccmp_test are defined for both the default and Latn scripts. My tool actually ensures that the same bytes of the font file are used for the identical lookups used by the different scripts.

This follows the structure of the GSUB table (http://www.microsoft.com/typography/otspec/chapter2.htm) very closely, and I don't know if VOLT allows it. Some of the font creation tools are so far removed from the font file structure that one might not have such control.

I fear this might not help.
It'll take me some time to look over this but I really appreciate the information you're giving me.

Richard W
Avisaru
Avisaru
Posts: 363
Joined: Sat Oct 16, 2010 8:28 pm

Re: Turkestan Brahmi

Post by Richard W »

One thing we haven't established is the versions of the key components being used - Windows, VOLT (for completeness), Word and Uniscribe. The DLL for Uniscribe is usp10.dll, and you may have several copies, even on a 32-bit PC. Several tools are installed with their own version of usp10.dll, possibly to limit what breaks if it has a fault, possibly just to be sure of avoiding DLL hell. Some versions apparently provided for VOLT have also been known to escape into the wild. (Shuffling the DLLs can be tricky; for Windows XP I resorted to using my dual boot capability to move the files around using Linux, but later versions of Windows may have defences against that trick.)

Your ultimate goal is a font encoded for the Brahmi script. On rereading the posts, I think you are currently experimenting with a hack font (technical term) encoding Brahmi characters as Devanagari characters. If that is the case, there may be a problem with which Devanagari script tag you are using. In 2005, Microsoft revised the Indic specifications, to provide more flexibility in what fonts could do, at the cost of incompatibility with old fonts. Rather than massively break the old fonts, they introduced new script tags to imply compatibility with the new specification. Fonts conforming to the old specification use the script tag deva; fonts conforming to the new specification use the script tag dev2. Some fonts contain tables for both script tag, so that they can work well with new versions of Uniscribe and passably with old versions.

So, what script tags are you using for Devanagari? (If you use TTX to convert font files to text, just search for ScriptTag.) What script tags do your working Devanagari fonts use?

One downside to the Devanagari experimentation is that the script-related features that work for Brahmi are likely not to work for Devanagari, and vice versa. This will change in the fullness of time. It is the lookups that can be converted.

User avatar
clawgrip
Smeric
Smeric
Posts: 1723
Joined: Wed Feb 29, 2012 8:21 am
Location: Tokyo

Re: Turkestan Brahmi

Post by clawgrip »

Thanks. I switched it from deva to dev2, and now it works when displayed in Firefox, but still not in word. I am still on Win XP and Word is 2003. Not sure how to check the version of Uniscribe.

I don't really intend to make the font completely in Devanagari. I have only been messing around with a few lookups as a way to experiment and learn how OpenType works. I chose Devanagari because it is similar in function and I know that it works in word and so on.

Richard W
Avisaru
Avisaru
Posts: 363
Joined: Sat Oct 16, 2010 8:28 pm

Re: Turkestan Brahmi

Post by Richard W »

The version of Uniscribe is effectively given by the version of usp10.dll. The way I would go about it is to search for the file usp10.dll using Windows Explorer, and then right click on the files and look in properties. That will give you a version number. To understand the version numbers, have a look at the Wikipedia article on Uniscribe, even though Peter Constable said he is unimpressed by it.

Has your version of Word 2003 been updated? I updated my version of Word 2002 (running on Windows 7) to be able to handle .docx files, and its usp10.dll was dated to a version dated August 2010.

Richard W
Avisaru
Avisaru
Posts: 363
Joined: Sat Oct 16, 2010 8:28 pm

Re: Turkestan Brahmi

Post by Richard W »

Updating *might* be a bum steer. The Word 2002 on Windows 7 reports that it is using the system's usp10.dll, which is Version 1.626.7601.18009. I seem to have confused a security update with a functional update - the Word-associated version was replaced by Version 1.0420.2600.5969, which does not appear to understand the script tag dev2.

However, there is one significant difference between deva and dev2 script tags that might be relevant. This wondrous difference was learnt by examining the New Harfbuzz code. In, for example, the blwf feature, for the old script tags, such as deva, the ligating characters should be consonant + virama! For the new script tags, such as dev2, the ligating characters should be virama + consonant, which seems much more reasonable. However, the new script tags will also work if the old order is used!

I have confirmed this by examining the Windows 7 Kartika font for Malayalam, where the reversal can be seen between the old mlym script tag and the new mlm2 script tag. This is almost consistent with changing your script tag from deva to dev2 and your font suddenly working in Firefox - I'm not quite sure how Firefox on Windows XP can handle a dev2 script tag.

User avatar
clawgrip
Smeric
Smeric
Posts: 1723
Joined: Wed Feb 29, 2012 8:21 am
Location: Tokyo

Re: Turkestan Brahmi

Post by clawgrip »

In the system32 folder I have v. 1.420.2600.6421.

You mean it used to be consonant + consonant + virama rather than consonant + virama + consonant? That doesn't make sense because it would involve placing a vowel immediately after a virama!

Richard W
Avisaru
Avisaru
Posts: 363
Joined: Sat Oct 16, 2010 8:28 pm

Re: Turkestan Brahmi

Post by Richard W »

The encoding hasn't changed, but what used to happen within Uniscribe's Indic rearrangement seems particularly bizarre.

Richard W
Avisaru
Avisaru
Posts: 363
Joined: Sat Oct 16, 2010 8:28 pm

Re: Turkestan Brahmi

Post by Richard W »

Is it a font using the deva script tag or one using the dev2 script tag that works with Firefox on Windows XP? As far as I can tell, one with just the dev2 script tag should not work - https://bugzilla.mozilla.org/show_bug.cgi?id=722600 .

When I used the help menu commands to find what DLLs were bring used in Windows 2002 on Windows XP, I found it was using both the one in system32 (Version 1.420.2600.6421) and C:\Program Files\Common Files\Microsoft Shared\Office10\USP10.DLL, which is at Version 1.405.2416.1. However, that and later versions should support Devanagari with the deva script tag. I am therefore at a loss as to why Firefox should work and Windows fail in your font. What happens with Notepad?

User avatar
clawgrip
Smeric
Smeric
Posts: 1723
Joined: Wed Feb 29, 2012 8:21 am
Location: Tokyo

Re: Turkestan Brahmi

Post by clawgrip »

I have another idea here. When you view a font such as Mangal in character map or something similar, you can see that combining diacritics are paired up with the dotted circle character. I have not done anything like this in my font, and I wonder if Word is rejecting it because of this. It seems unlikely, but I am running out of ideas. At this point, Word is the only program I can't get it to work in (works in Wordpad, Notepad, Firefox, just not Word). I am using dev2 here on XP.

Post Reply