-
Notifications
You must be signed in to change notification settings - Fork 2
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Balinese shaping issues #22
Comments
I made a test file based on the VOLT screenshots sent by @kmansourMT. test.uni.txt : test input (\u-escaped) test.txt : test input in UTF-8 Left is the rendered result with the current (1.03: both DFLT and non-DFLT) font and right is the result (DFLT-only). When non-DFLT (Balinese) is present, harfbuzz routes it to USE. |
As you can see in the screenshot, both versions of the font have issues but often they have different issues. @kmansourMT : The first syllable in the first line has U+1B13 U+1B00 U+1B38. Is it correct to have U+1B00 between U+1B13 (consonant) and U+1B38 (dependent vowel)? I couldn't find any information as to where in a syllable U+1B00 should go. If it's like signs in other Brahmi-derived scripts, it should go after a vowel, shouldn't it? I'm gonna try it on Windows 10 + Edge. BTW, what layout engines were used to test Balinese? |
|
@kmansourMT : I have two questions in the above comment:
|
This is Edge on Windows 10 rendering http://jungshik.github.io/noto/balinese/test.html. |
/cc @tiroj |
I updated http://jungshik.github.io/noto/balinese/test.html to have links to Volt proofing images from @kmansourMT |
I just looked at Line 1 and Line 4. The order of the characters in both cases should be changed. See the USE spec at https://www.microsoft.com/typography/OpenTypeDev/USE/intro.htm: For Line 1, USE expects Bindus (VM) to appear after vowels. So the test string should be For Line 4, USE excepts left-side vowels (VPre) to appear before above vowels (VAbv) and right-side vowels (VPst). So the test string should be |
Thanks, @roozbehp. I updated my test page. Line 1a and line 4 have updated sequences per @roozbehp's comment and they're shaped well. Back to @kmansourMT : @roozbehp told me that left-vowel sign should come before other vowels (when two vowels come in a row) unless they form a 'diphthong'. Have you seen @roozbehp : how does USE handle 'diphthong' cases (where visually 'left vowel sign' should come after another vowel sign )? |
BTW, a test adopted from @NobertLindenberg's (#163) shows that reordering with U+1B3[EF], U+1B4[01], etc does not happen with harfbuzz when non-DFLT opentype tables are dropped. That is, reordering with dist in DFLT does not work in harfbuzz. See the screenshots below taken of http://jungshik.github.io/noto/balinese/left_vowel.html |
Regarding: At the time of testing, our designer did not know details about vowel ordering to such an extent, but was primarily interested in verifying the reordering. |
I'm not sure I understand the question. But I try to answer anyway: a) If the question is what happens if there's a left-side "I" vowel and a right-side "E" vowel and the language uses both to represent the "EI" linguistic diphthong and it's written visually as b) If the question is how one would represent the visual sequence |
@roozbehp Thank you. My question was a) and you answered the question although I'd not like having to type |
Ok. Are there any other strings in http://jungshik.github.io/noto/balinese/test.html that you know are not valid? We know that notofonts/khmer#10 (the 1st syllable) is invalid. |
To sort out font issues and potential harfbuzz issues, I'm putting up the shaping result by Edge on Win 11 (with the latest test page http://jungshik.github.io/noto/balinese/test.html ) and Chrome (harfbuzz): |
Had I known of these errors, I would have told you. From: jungshik <notifications@github.commailto:notifications@github.com> At the time of testing, our designer did not know details about vowel ordering to such an extent, Ok. Are there any other strings in http://jungshik.github.io/noto/balinese/test.html that you know are not valid? We know that #1https://github.com/googlei18n/noto-fonts/issues/1 (the 1st syllable) is invalid. — |
Given the result shared in https://github.com/googlei18n/noto-fonts/issues/572#issuecomment-158246038 ( Line 1a: USE on Windows matches harfbuzz. Everything seems all right (except for the position of an 'above-base mark' related to #21 ) Line 2: ditto Line 3: 2nd and 3rd syllables have two 'below-base marks' overlapping each other. (related: #20) in both Windows USE and harfbuzz Line 4a
Line 5
Line 6
Line 7: hb fails to reorder U+1B3E (left-vowel) wrt a conjunct in the 2nd syllable Line 8 and 9 : Both USE and hb are fine. @behdad, can you take a look at the following three? Thanks. (the test page 👍 http://jungshik.github.io/noto/balinese/test.html ).
|
@jungshik please file a harfbuzz bug with just enough details to reproduce it. Jonathan and I will take a look at them in London in December. Thanks |
The first issue in my previous comment (lines 4a, 5 and 7) was filed against harfbuzz as shown above. The 2nd and the 3rd issues are tricky because it's not clear who to blame, font or engine. @kmansourMT, have you ever gotten the expected shaping result with any engine for line 3 and line 6?
|
Jungshik, I assume wherever you said "Javanese" in this issue, you really meant Balinese? |
Is there any documentation from Microsoft on how the script-specific and DFLT feature lists interact with script engines in OpenType? I haven't been able to find such documentation. In particular, once the renderer has identified a run of, say, Balinese characters: – If the renderer doesn't have a script engine supporting Balinese, does it still use feature lists for script "bali", or are those ignored and "DFLT" used instead? – If the renderer does have a script engine supporting Balinese (the USE), but the font doesn't have feature lists for the script "bali", does the renderer still use the script engine supporting Balinese (the USE), or does it use a fallback engine that doesn't know anything about reordering Balinese vowels? Answers to these questions might help me understand some of the behavior seen here. |
Sequences of two are more dependent vowels are allowed by the USE and worth testing. Some sequences occur in real life: 1B3A 1B35, 1B3C 1B35, 1B3E 1B35, 1B3F 1B35, 1B42 1B35. As Roozbeh said, the USE requires them to appear them in a specific order. |
Line 4a has a couple of cases for that. Line 4 has the order reversed and didn't work with USE/harfbuzz. Line 4a (order corrected) works with both. I can try more. |
In case of Harfbuzz, if 'bali' is present in a font, hb's implementation of USE is used. If not, the default shaping engine is used (with DFLT tables). |
Multiple vowels in a row Test file (line 1 has two vowels in a row. line 2 uses NFC form)
With both DFLT and bali, hb's USE is used and it works as expected. With only DFLT, reordering is broken. |
@kmansourMT : There are more issues than what you referred to in the previous comment. What you wrote about above is line 3 in my comment ( https://github.com/googlei18n/noto-fonts/issues/572#issuecomment-158562355 ). In addition, line 1a and 2 also have issues ( bug notofonts/noto-fonts#380 ). So does line 6. |
HarfBuzz got improvement for Balinese, and the improvement is landed in 1.1.3. |
@kmansourMT : When do you plan to deliver the aforementioned update? The latest I have in phase 2 (TTF) is from Sep 2015. Anyway, I guess you fixed these and related sequences.
Does your update handle the following sequence as well?
|
Oh... |
Susan W. is in charge of scheduling releases and updates. From: jungshik <notifications@github.commailto:notifications@github.com> @kmansourMThttps://github.com/kmansourMT : When do you plan to deliver the aforementioned update? The latest I have in phase 2 (TTF) is from Sep 2015. Anyway, I guess you fixed these and related sequences. U+1b13 U+1b44 U+1b13 U+1b3c Does your update handle the following sequence as well? U+1b13 U+1b44 U+1b13 U+1b38 — |
Summary of this bug so far:
@waksmonskiMT, when do you plan to deliver the update @kmansourMT mentioned that fixes both "line 3" issue and lines 1a/2 issue (also bug notofonts/noto-fonts#380)? With the font update, I can close this bug after verifying the fix. |
off-line conversation with @waksmonskiMT: we'll get @kmansourMT's fix in upcoming phase 3 delivery. |
Any updates?!? It has been over a year. |
Spun off from notofonts/noto-fonts#543
@kmansourMT gave us some test strings he used. I shaped them with harfbuzz and used two versions of Noto Sans Balinese : the current version with both DFLT and non-DFTL OT tables) and my local version with ONLY DFLT.
The latter looks better, but both have shaping issues. I'll add more details shortly.
We need to sort this out.
/cc @roozbehp @behdad
The text was updated successfully, but these errors were encountered: