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

[JSTF] beyond-64k extension #130

Open
behdad opened this issue Jan 26, 2024 · 2 comments
Open

[JSTF] beyond-64k extension #130

behdad opened this issue Jan 26, 2024 · 2 comments

Comments

@behdad
Copy link
Member

behdad commented Jan 26, 2024

As discussed on the MPEG list.

I propose bumping the minor version:

Type | Name | Description
-- | -- | --
uint16 | majorVersion | Major version of the JSTF table, = 1
uint16 | minorVersion | Minor version of the JSTF table, = 1
uint16 | jstfScriptCount | Number of JstfScriptRecords in this table
JstfScriptRecord | jstfScriptRecords[jstfScriptCount] | Array of JstfScriptRecords, in alphabetical order by jstfScriptTag
uint16 | jstfScriptCount2 | Number of JstfScriptRecords2 in this table
JstfScriptRecord2 | jstfScriptRecords2[jstfScriptCount2] | Array of JstfScriptRecords2, in alphabetical order by jstfScriptTag

With JstfScriptRecord2:

Type | Name | Description
-- | -- | --
Tag | jstfScriptTag | 4-byte JstfScript identification
Offset32 | jstfScript2Offset | Offset to JstfScript2 table, from beginning of JSTF Header

And JstfScript2:

Type | Name | Description
-- | -- | --
Offset32 | extenderGlyph2Offset | Offset to ExtenderGlyph2 table, from beginning of JstfScript2 table (may be NULL)
Offset32 | defJstfLangSysOffset | Offset to default JstfLangSys table, from beginning of JstfScript2 table (may be NULL)
uint16 | jstfLangSysCount | Number of JstfLangSysRecords in this table- may be zero (0)
JstfLangSysRecord | jstfLangSysRecords[jstfLangSysCount] | Array of JstfLangSysRecords, in alphabetical order by JstfLangSysTag

And ExtenderGlyph2:

Type | Name | Description
-- | -- | --
uint24 | glyphCount | Number of extender glyphs in this script
uint24 | extenderGlyphs[glyphCount] | Extender glyph IDs — in increasing numerical order
@mpsuzuki
Copy link

It is good design to make a hybrid font by single JSTF table. The contents in jstfScriptRecord and jstfScriptRecord2 can overlap? Or they shall be exclusive?

@behdad
Copy link
Member Author

behdad commented Jan 27, 2024

It is good design to make a hybrid font by single JSTF table. The contents in jstfScriptRecord and jstfScriptRecord2 can overlap? Or they shall be exclusive?

The way we did in GSUB/GPOS is that if the system understands jstfScriptRecord2, then the other one is ignored.

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

No branches or pull requests

2 participants