Skip to content
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

Add Unicode Variation Sequences to script that use them #19

Open
moyogo opened this issue Apr 15, 2021 · 2 comments
Open

Add Unicode Variation Sequences to script that use them #19

moyogo opened this issue Apr 15, 2021 · 2 comments

Comments

@moyogo
Copy link
Contributor

moyogo commented Apr 15, 2021

Where the font came from, and when

https://github.com/googlefonts/noto-fonts/blob/81b283b55b3e5b80ec0e410d4b246d3573e1c7de/unhinted/ttf/NotoSansManichean/NotoSansManichean-Regular.ttf
https://github.com/googlefonts/noto-fonts/blob/81b283b55b3e5b80ec0e410d4b246d3573e1c7de/unhinted/ttf/NotoSans/NotoSans-Regular.ttf
https://github.com/googlefonts/noto-fonts/blob/81b283b55b3e5b80ec0e410d4b246d3573e1c7de/unhinted/ttf/NotoSansMath/NotoSansMath-Regular.ttf
https://github.com/googlefonts/noto-fonts/blob/81b283b55b3e5b80ec0e410d4b246d3573e1c7de/unhinted/ttf/NotoSansMongolian/NotoSansMongolian-Regular.ttf
https://github.com/googlefonts/noto-fonts/blob/81b283b55b3e5b80ec0e410d4b246d3573e1c7de/unhinted/ttf/NotoSansMyanmar/NotoSansMyanmar-Regular.ttf
https://github.com/googlefonts/noto-fonts/blob/81b283b55b3e5b80ec0e410d4b246d3573e1c7de/unhinted/ttf/NotoSansPhagsPa/NotoSansPhagsPa-Regular.ttf
https://github.com/googlefonts/noto-fonts/blob/81b283b55b3e5b80ec0e410d4b246d3573e1c7de/unhinted/ttf/NotoSerif/NotoSerif-Regular.ttf
https://github.com/googlefonts/noto-fonts/blob/81b283b55b3e5b80ec0e410d4b246d3573e1c7de/unhinted/ttf/NotoSerifMyanmar/NotoSerifMyanmar-Regular.ttf

Font Version

NotoSans 2.005
NotoSerif 2.004
NotoSansMath 2.001
NotoSansMyanmar 2.001
NotoSerifMyanmar 2.001
NotoSansPhagsPa 2.000
NotoSansManichaean 2.000
NotoSansMongolian 2.001

OS name and version

Windows

Application name and version

  • MS Write
  • MS Word
  • MS Powerpoint

Issue

Variation sequences don't work when set up as OpenType Layout substitution in applications that use Uniscribe.
Uniscribe seems to only use variation sequences defined in the cmap subtable format 14.
Fontmake can use the public.unicodeVariationSequences lib key to generate the cmap subtable format 14.
GlyphsApp has some support for variation sequences but it's not complete (https://forum.glyphsapp.com/t/unicode-variation-sequences/11813).

Character data

Any variation sequences defined in the Unicode standard for example:

  • Noto Sans, Noto Sans Italic, Noto Sans Display, Noto Sans Display Italic, Noto Serif, Noto Serif Italic, Noto Serif Display, Noto Serif Display Italic
    • 0030 0020 0030 FE00
      0 0︀
  • Noto Sans Math
    • 2205 0020 2205 FE00
      ∅ ∅︀
  • Noto Sans Myanmar, Noto Serif Myanmar
    • 1000 FE00
      က က︀
  • Noto Sans Phags Pa
    • A856 0020 A856 FE00
      ꡖ ꡖ︀
  • Noto Sans Manichean
    • 10AC5 0020 10AC5 FE00
      𐫅 𐫅︀
  • Noto Sans Mongolian
    • 1820 0020 1820 180B
      ᠠ ᠠ᠋

Screenshot

Here's a screenshot of, on the left, Microsoft Edge applying the OpenType Layout substutitions, and on the right, WordPad not applying them except for Noto Sans Mongolian and not displaying Noto Sans Math (probably because of code page ranges not being enabled in the font).
VirtualBox_WinDev2102Eval_15_04_2021_08_28_10

@moyogo
Copy link
Contributor Author

moyogo commented Apr 15, 2021

/cc @StephenMorey

See in the screenshot above, in Wordpad, Uniscribe seems to be applying the OpenType Layout substitutions with Mongolian free variation selectors but not with other variation selectors. It's also not clear what is happening with Manichaean.

@StephenMorey
Copy link

Thanks for this. I don't (yet) know very much about Uniscribe which you mentioned in another post as follows:

"This is an issue with Noto Serif Myanmar but could also be an issue with Uniscribe (used by Word and Powerpoint) depending on how you look at it."
"Uniscribe expects the variation sequence substitution to be defined in the cmap table, but we currently define then in the OpenType Layout GSUB table."
"It could be argued Uniscribe should do like Harfbuzz and handle variation selector glyphs in the GPOS table."
"We've just updated the pipeline tools to allow building fonts with variation sequences in the cmap table, so we can update Noto fonts to use that. That will fix the issue in Word and Powerpoint."

I'm uploading a document that I just made in Libre Office which shows several of the variant forms (alongside the original non-Unicode font).
image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants