[MPEG-OTSPEC] Fwd: AHG hybrid (F2F / Zoom) meeting agenda

Vladimir Levantovsky vladimir.levantovsky at gmail.com
Thu Sep 14 16:26:58 CEST 2023

Dear all,

Like we agreed at the last AHG F2F / Zoom hybrid meeting on Aug. 17 (see
summary below), we will have another AHG Zoom call on September 27 at 14:00
UTC (7 am US Pacific / 10 am US Eastern / 16:00 CET / 23:00 Japan) to
review and discuss the updated proposals reflecting the new approaches we
discussed and agreed upon.

Agenda details and the links to updated proposals will be distributed prior
to the AHG meeting on Sep. 27. The Zoom meeting details (direct link /
meeting ID & password) will stay the same, and everybody who asked to be
invited to the previously held meeting will be included on the new meeting
invite list.

If you were not a participant in the Aug. 17 meeting and would like to be
invited for the next AHG meeting on Sep. 27 - please contact me directly
with the request to be added to the meeting invite list. I will not be able
to share Zoom meeting details on this public list, but I will be happy to
send an invite to anyone who wishes to attend the AHG meeting.

Thank you,

---------- Forwarded message ---------
From: Vladimir Levantovsky <vladimir.levantovsky at gmail.com>
Date: Thu, Aug 24, 2023 at 6:16 AM
Subject: SUMMARY: AHG hybrid (F2F / Zoom) meeting agenda
To: MPEG OT Spec list (mpeg-otspec at lists.aau.at) <mpeg-otspec at lists.aau.at>

Dear all,
Please see below the summary report of the AHG meeting that was held last
week on Aug. 17, 2023. We had a great event and I would like to express my
gratitude to many people who contributed to the discussion, and to Google
as our host, who provided excellent meeting facilities and accommodations!

*AHG hybrid (F2F / Zoom) meeting report summary.*
Meeting participants (sincere apologies if I missed anyone - please respond
with any additional names):
*In-person participants: *Liam Quin, Skef Iterum, Dave Crossland, Felipe
Sanches, Dominik Röttsches, Kamile Demir, Kalapi Gajjar, Eli Heuer, John
Hudson, Behdad Esfahbod, Sam Berlow, Thomas Phinney, Rod Sheeter, Ned
Holbrook, Greg Hitchcock, Eben Sorkin, Vladimir Levantovsky
*Zoom participants: *Cosimo Lupo, Mew Ophaswongse, Mike LaGattuta, Bianca
Berning, Guido Ferreyra, Georg Seifert, Laurence Penney, Makoto
Murata, Hin-Tak Leung, Suzuki Toshiya, Yasuo Kida, Josh Hadley, Nat
McCully, Marianna Paszkowska,

Discussion / Topics Summary:
0. Meeting opening / introductions
Administrivia: Review of the relevant ISO policies and procedures
- Declaration for participants in ISO activities
- ISO Code of Ethics and Conduct
- Guideline for Implementation of the Common Patent Policy for
- Adoption of the agenda
- Introductions of meeting participants
Additional topic: Discussion of the proposed conflict resolution principle:
In case of conflict, consider users over font developers over implementers
over specifiers over theoretical purity. (Borrowed from the HTML Design
Principles, Priority of Constituencies
1. Topic: Overcoming 64K glyph limit discussion summary
Attempts to reuse existing 'head' table format fields (glyphDataFormat /
indexToLocFormat) are error prone - many existing implementations are used
to ignore these values. As a result, an approach involving modifying
existing fields and 'glyf' / other tables would very likely break existing
implementations. An alternative approach that was discussed at length and
agreed upon is to introduce new table tags/versions, and give font
developers full control and final authority over backward compatible
behavior of a font that will be designed to support more than 64K glyphs.
E.g. font developers would decide what subset of the larger number of
glyphs would be supported by a new font that is fully compatible with
existing implementations [which would simply ignore new tables] and also
designed to support more than 64K glyphs for use in updated implementations.
Additional experiments (+ test fonts) would be needed to validate certain
assumptions made as part of the discussion.
(Sideline discussions included questions regarding consideration of 24- vs.
32-bit indices, and whether font sizes should still be considered as
a limiting factor that we need to optimize for.)
Action Item: Prepare, validate and submit an updated proposal to reflect
the new approach.
2. Topic: 'avar' version 2 discussion summary
Updated Working Draft text splits the discussion of coordinate scale and
normalization into two separate parts of the spec, which was previously
flagged as a spec concern and is less than ideal.
Fonts with avar2 [as currently specified] do not really offer a fallback
and may not be truly backward compatible / might behave differently on
older implementations. However, the use of avar2 is very appealing for cost
/ benefits, does solve some actual
problems and cost to implement is very low. Commitments from implementers
to introduce support for avar2 in a timely manner (e.g. 12-18 months) would
be needed to make this a success.
Follow up discussions touched on current implementations, including
HarfBuzz support, Chrome currently supports avar2 behind a compile-time
flag, Apple supports avar2 based on HB spec. Future updates to "avar.next"
might introduce per glyph axes, different adjustments for different
scripts, etc. - need more discussions / use cases regarding the kind of
things we need / want to be expressed.
3. Topic: Composite glyphs / variable components discussion summary
There are significant benefits of enabling new types of composite glyphs
allowing variability of components' weights and widths, variable translate
/ scale for better transformations, etc. Implementing it would require a
relatively small amount of code, while benefits could be significant -
hangul fonts see up to 80% size reduction, Kanji - 65% reduction, etc.
Other scripts might benefit as well - e.g. North Indic calligraphic scripts
can be deconstructed into straight / curved strokes. One can create a
single font supporting multiple scripts (Bengali, Devanagari, and more)
that would require smaller development time.
Part of the discussions were focused on current hinting approaches, and the
value of hinting for various scripts / geographic regions where low cost
devices with relatively lower res screens are still widely in use. The
discussion also focused on possible hinting approaches
for variable components and the role autohinting might play. Introducing
all these new functions as part of the new glyf table would make sense [as
far as introducing braking changes is concerned], and making the new table
format future-proof.
4. Topic: Combining cubic and quadratic Bézier curves in glyphs
Focused discussions on advantages / disadvantages of various approaches,
followed by the discussion of benefits of doing so. We established the fact
that supporting both cubic and quadratic outlines would benefit both users
and type designers / font developers (who currently almost exclusively work
in cubics), and that the conversion of cubic to quadratic outline is lossy
- it makes for a compelling story to support both. It also seems to be a
natural fit into a new glyph format supported by a new table tag. (During
the discussion of benefits / drawbacks of supporting both outline formats,
we also noted that while forcing new glyph outlines to only use cubics is a
possibility, and mixing different types of outlines might complicate
glyf table flags - mixed versions showed better file sizes in the initial
5a. Topic: Font interface default settings
Variable fonts used in environments that don't support variability offer
named instances as defaults; however, there are no requirement for a font
to have an instance named "Regular", and not all formats (e.g. CFF2) are
backward compatible in that way (and fonts aren't always built with
intermediate masters). While some environments like the Web (CSS Fonts
Module) offer mechanisms for setting default values for common axes, some
font selector UI would typically present a format default (e.g. zero for
all axes), which in some cases would be an extreme. In order to be able to
build fonts with extreme masters we need to be able to define a default
instance [via an InstanceRecord in 'fvar' table, see proposal
<https://github.com/MPEGGroup/OpenFontFormat/issues/52> for details].
5b. Topic: Variable substitutions (also see GitHub issues #53
<https://github.com/MPEGGroup/OpenFontFormat/issues/53> & #54
Discussions were centered on the examples described in both GitHub issues
and in more details in the conditions.pdf
The overall responses to the proposed were very positive, the consensus
decision was that a more formal proposal outlining the necessary spec
changes would be prepared for review on GitHub and also be available for
discussion at the next AHG meeting.

The next AHG meeting is scheduled to be held as a Zoom meeting on Sep.
27th, two weeks prior to input submission upload deadline for the next WG3
meeting on October 16-20.

Near-term next steps / goals:
- prepare the updated proposal for new 'glyf2' table combining changes for
extending 64K glyph limit + variable components and mixed quadratic / cubic
- prepare new proposals (variable substitutions, UI defaults);
- have the proposals ready for GitHub discussions by the end of August /
early September and for detailed review at the AHG meeting on Sep. 27.

NB: this meeting report is prepared based on my own notes with significant
help from Liam Quin who made detailed live notes during the meeting. If
anything is missing in the compiled summary, it is totally my fault -
please feel free to send your comments.

Thank you all for your active participation, this was by far the most well
attended and productive discussion we had to date.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.aau.at/pipermail/mpeg-otspec/attachments/20230914/92ce0f9a/attachment.html>

More information about the mpeg-otspec mailing list