[mpeg-OTspec] Updated 4th edition working draft available for review

Peter Constable petercon at microsoft.com
Tue Apr 11 06:36:21 CEST 2017


OK, here my proposed revised wording, taking Johns comment into consideration:

A ScriptList table consists of a count of the scripts represented by the glyphs in the font (ScriptCount) and an array of records (ScriptRecord), one for each script for which the font defines script-specific features (a script without script-specific features does not need a ScriptRecord). Each ScriptRecord consists of a ScriptTag that identifies a script, and an offset to a Script table. The ScriptRecord array is stored in alphabetic order of the script tags.

A Script table with the script tag 'DFLT' (default) may be used in a font to define features that are not script-specific. An application should use a 'DFLT' script table if there is not a script table associated with the specific script of the text being formatted, or if the text does not have a specific script (for example, it contains only symbols or punctuation).

Note: If symbols or punctuation have a Unicode script property “Common” but are used together with characters of a specific script, features that apply to those symbol or punctuation characters should not necessarily be organized under the 'DFLT' script, but can be organized under the specific script. Applications may process script-neutral characters together with immediately-preceding or following script-specific characters for better processing efficiency. In that case, an application would look for features that operate on the neutral characters by using the Script table for the specific script. The ‘DFLT’ script would still be used if the text contained only the neutral characters, however.

If there is a 'DFLT' script table, it must have a non-NULL DefaultLangSys value, which provides the offset to a default Language System table (described below). As languages are written using particular scripts, it is normally expected that language-specific typographic effects will be associated with the particular script, not with the generic 'DFLT' script. For this reason, the LangSysCount value of a 'DFLT script table should normally be 0 (no non-default language system tables). However, a font is permitted to have a 'DFLT' script table with non-default language system tables, and an application may use features associated with one of these if the the 'DFLT' script table is applicable (no script table is present for the specific script, or there is no specific script in the text context), and if one of the particular language systems is specified. Applications should support use of a non-default language system table that is associated with 'DFLT' script, though some applications might not do so.

Let me know if that addresses your concerns adequately.


Peter

From: John Hudson [mailto:john at tiro.ca]
Sent: Monday, April 3, 2017 1:49 AM
To: Peter Constable <petercon at microsoft.com>
Cc: Martin Hosken <martin_hosken at sil.org>; Levantovsky, Vladimir <Vladimir.Levantovsky at monotype.com>; mpeg-OTspec at yahoogroups.com
Subject: Re: [mpeg-OTspec] Updated 4th edition working draft available for review

My concern is that the proposed wording relaxes the requirement that the language system count be zero, but then states that implementations are not required to do anything with any language systems mapped to the DFLT script. So it's basically saying 'Yes, you can have an unreliable mechanism'.

I would rather the wording say something to the effect that language systems mapped to the DFLT script tag should be treated the same as language systems mapped to any other script tag, rather than suggesting, as the proposed wording does, that the DFLT script remains a special case with regard to language systems. Implementations may still fail to support language system tags in various ways — as they do already —, but should do so consistently regardless of whether the script tag is specific or DFLT.

JH


Sent from my iPad

On Mar 31, 2017, at 5:34 PM, Peter Constable <petercon at microsoft.com<mailto:petercon at microsoft.com>> wrote:
John:

Can you clarify for me what specifically about which part of the wording concerns you.

I think I’ve stayed consistent with what the spec was already saying about DFLT script tag in general, and only stated it (I think) more clearly:

“The 'DFLT' Script table should be used if there is not an explicit entry for the script being formatted.”

The key change has been to relax the constraint that LangSysCount “must be equal to 0”. “A font is permitted…” is implied if that constraint has been relaxed.

Is this concern with this?
“An application should use a 'DFLT' script table … if the text does not have a specific script (for example, it contains only symbols or punctuation).”
If so, I could work on that.

Peter

From: John Hudson [mailto:john at tiro.ca]
Sent: Friday, March 31, 2017 6:56 AM
To: Peter Constable <petercon at microsoft.com<mailto:petercon at microsoft.com>>
Cc: Martin Hosken <martin_hosken at sil.org<mailto:martin_hosken at sil.org>>; Levantovsky, Vladimir <Vladimir.Levantovsky at monotype.com<mailto:Vladimir.Levantovsky at monotype.com>>; mpeg-OTspec at yahoogroups.com<mailto:mpeg-OTspec at yahoogroups.com>
Subject: Re: [mpeg-OTspec] Updated 4th edition working draft available for review

Peter, I'm a bit concerned that this wording makes some assumptions about how implementations use the DFLT script tag, without those implementations being specified anywhere. [Well, nothing new in that: this is true of OpenType Layout in general.] So, for example, I've seen DFLT used by Adobe to process script=common characters such as the Indic danda and double danda from the Unicode Devanagari block, which are also used by other Indian scripts. If one wanted to make a pan-Indic font with script-specific forms of danda, the only way to do so within that implementation would be via language system under the DFLT script tag. Of course, the case can be made that such an implementation is wrong, but sans an implementation spec, I wonder about the wisdom of specifying constraints in the format spec.

JH


Sent from my iPad

On Mar 31, 2017, at 5:48 AM, Peter Constable petercon at microsoft.com<mailto:petercon at microsoft.com> [mpeg-OTspec] <mpeg-OTspec-noreply at yahoogroups.com<mailto:mpeg-OTspec-noreply at yahoogroups.com>> wrote:
A font is permitted to have a 'DFLT' script table with non-default language system tables, and an application
        may use features associated with one of these if the the 'DFLT' script table is applicable (no script table
        is present for the specific script), and if one of the particular language systems is specified. Applications
        are not required to support use of a non-default language system table that is associated with 'DFLT' script,
        however, and fonts should not depend on this configuration being supported.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.aau.at/pipermail/mpeg-otspec/attachments/20170411/8a9ae9cf/attachment.html>


More information about the mpeg-otspec mailing list