notofonts / mongolian

Noto Mongolian
SIL Open Font License 1.1
12 stars 3 forks source link

Mongolian punctuation rotated 90° counterclockwise #1

Closed dscorbett closed 2 years ago

dscorbett commented 5 years ago

Font

NotoSansMongolian-Regular.otf

Where the font came from, and when

Site: https://github.com/googlei18n/noto-fonts/blob/c9085bfd93b4642424e9bc92fd45ef014775b9b8/phaseIII_only/unhinted/otf/NotoSansMongolian/NotoSansMongolian-Regular.otf Date: 2018-12-19

Font version

Version 2.000

Application name and version

Google Chrome 73.0.3642.0

Issue

Some of the punctuation glyphs is inconsistent with Vertical_Orientation and are displayed wrong in vertical and/or horizontal text. This font doesn’t use any vertical orientation OpenType features so its glyphs should be rotated 90° counterclockwise from how they should look in vertical text, except for code points with vo=U or vo=Tu.

U+0028 LEFT PARENTHESIS and U+0029 RIGHT PARENTHESIS in Mongolian vertical text should be rotated 90° clockwise in the usual vertical CJK way. Those code points have vo=R. Therefore, their glyphs should be rotated 90° counterclockwise from that, for a net rotation of 0°. That is, their glyphs should look just like in Noto Sans. However, in this font they are actually rotated 90° counterclockwise, which means they are rotated too much in horizontal and vertical text.

The same might be true of U+0022 QUOTATION MARK, U+201C LEFT DOUBLE QUOTATION MARK, and U+201D RIGHT DOUBLE QUOTATION MARK; I don’t know how quotation marks work in Mongolian.

U+2048 QUESTION EXCLAMATION MARK, U+2049 EXCLAMATION QUESTION MARK, U+2460 CIRCLED DIGIT ONE through U+2473 CIRCLED NUMBER TWENTY, U+3001 IDEOGRAPHIC COMMA, and U+3002 IDEOGRAPHIC FULL STOP in Mongolian vertical text should not be rotated from how they look in the code chart. This font gives them glyphs rotated 90° counterclockwise, which is fine for horizontal text. These code points have vo=U or vo=Tu though, so they are not automatically rotated, so they look wrong in vertical text.

This font contains the presentation forms U+FE3D, U+FE3E, and U+FE41 through U+FE44. (It doesn’t contain the preferred non-presentation forms U+300A through U+300F; why?) The same goes for them: they have vo=U so their glyphs should look just look in the code chart.

Character data

(“"”⁈⁉①、。﹄ U+0028 LEFT PARENTHESIS U+201C LEFT DOUBLE QUOTATION MARK U+0022 QUOTATION MARK U+201D RIGHT DOUBLE QUOTATION MARK U+2048 QUESTION EXCLAMATION MARK U+2049 EXCLAMATION QUESTION MARK U+2460 CIRCLED DIGIT ONE U+3001 IDEOGRAPHIC COMMA U+3002 IDEOGRAPHIC FULL STOP U+FE44 PRESENTATION FORM FOR VERTICAL RIGHT WHITE CORNER BRACKET

Screenshot

<span style="font: 50px Noto Sans Mongolian">(“"”⁈⁉①、。﹄</span> (“"”⁈⁉①、。﹄ <span style="font: 50px Noto Sans Mongolian; writing-mode: vertical-lr; white-space: nowrap">(“"”⁈⁉①、。﹄</span> (“"”⁈⁉①、。﹄

punchcutter commented 5 years ago

This has been addressed in the latest update, but the build pipeline doesn't handle parsing the Glyphs file correctly yet. First https://github.com/googlefonts/glyphsLib/issues/557 needs to be worked on.

marekjez86 commented 5 years ago

We need to check in https://github.com/googlefonts/noto-fonts/tree/master/phaseIII_only/unhinted/ttf/NotoSansMongolian

KrasnayaPloshchad commented 5 years ago

I got the new font file now, but some punctuations failed to present in vertical layout.

Step to reproduce:

  1. Copying above codes into https://www.freecodeformat.com/html-format.php
  2. Click Code View

Actual results: Firefox 69: 1 Chrome 77: 2

Additional steps on LibreOffice 6.3:

  1. Open Writer
  2. Click Insert -> Frame -> Interactive frame
  3. Drag to insert a frame
  4. Paste punctuations from above comment
  5. Copy & past the frame
  6. Right click the second frame -> Properties
  7. In the Frame dialog, click Options, set the text direction as left-to-right (vertical)

Actual results: 3 Test.zip

punchcutter commented 5 years ago

Like I mentioned above https://github.com/googlefonts/glyphsLib/issues/557 needs to be fixed before this will work. So the current font will not work. Even after it is fixed every layout engine does things differently. This will work in Chrome (after the fix), but other applications make different assumptions about how the vertical forms are handled and they don't all seem to follow the Unicode vertical properties in VerticalOrientation.txt.

simoncozens commented 2 years ago

With the latest development build, the toolchain now supports this and it seems to be fixed:

<span style="font: 50px NSM; writing-mode: vertical-lr; white-space: nowrap">(“"”⁈⁉①、。﹄</span>
Screenshot 2022-06-27 at 15 59 35