<div dir="ltr">Dear all,<br><div>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!</div><div><br></div><div><b>AHG hybrid (F2F / Zoom) meeting report summary.</b></div><div>Meeting participants (sincere apologies if I missed anyone - please respond with any additional names):<br><i>In-person participants: </i>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</div><div><i>Zoom participants: </i>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, </div><div><br></div><div>Discussion / Topics Summary:<br>0. Meeting opening / introductions</div><div>Administrivia: Review of the relevant ISO policies and procedures</div><div><span style="color:rgb(60,64,67);font-family:Roboto,Arial,sans-serif;font-size:14px;letter-spacing:0.2px">- </span><a href="https://www.google.com/url?q=https://www.iso.org/declaration-for-participants-in-iso-activities.html&sa=D&source=calendar&usd=2&usg=AOvVaw2n2ZhkFMkQBjPrst6wyAbi" target="_blank" style="font-family:Roboto,Arial,sans-serif;font-size:14px;letter-spacing:0.2px">Declaration for participants in ISO activities</a><br style="color:rgb(60,64,67);font-family:Roboto,Arial,sans-serif;font-size:14px;letter-spacing:0.2px"><span style="color:rgb(60,64,67);font-family:Roboto,Arial,sans-serif;font-size:14px;letter-spacing:0.2px">- </span><a href="https://www.google.com/url?q=https://www.iso.org/files/live/sites/isoorg/files/store/en/PUB100011.pdf&sa=D&source=calendar&usd=2&usg=AOvVaw3R7JNkexzilX-qCtg_vrzR" target="_blank" style="font-family:Roboto,Arial,sans-serif;font-size:14px;letter-spacing:0.2px">ISO Code of Ethics and Conduct</a><br style="color:rgb(60,64,67);font-family:Roboto,Arial,sans-serif;font-size:14px;letter-spacing:0.2px"><span style="color:rgb(60,64,67);font-family:Roboto,Arial,sans-serif;font-size:14px;letter-spacing:0.2px">- </span><a href="https://www.google.com/url?q=https://www.iso.org/files/live/sites/isoorg/files/developing_standards/resources/docs/20221216_Guidelines_for_Implementation_of_the_Common_Patent_Policy.pdf&sa=D&source=calendar&usd=2&usg=AOvVaw3236BoeE5tQKR46VIx_R2a" target="_blank" style="font-family:Roboto,Arial,sans-serif;font-size:14px;letter-spacing:0.2px">Guideline for Implementation of the Common Patent Policy for ITU‑T/ITU‑R/ISO/IEC</a><br style="color:rgb(60,64,67);font-family:Roboto,Arial,sans-serif;font-size:14px;letter-spacing:0.2px"><span style="color:rgb(60,64,67);font-family:Roboto,Arial,sans-serif;font-size:14px;letter-spacing:0.2px">- Adoption of the agenda</span><br style="color:rgb(60,64,67);font-family:Roboto,Arial,sans-serif;font-size:14px;letter-spacing:0.2px"></div><div><span style="color:rgb(60,64,67);font-family:Roboto,Arial,sans-serif;font-size:14px;letter-spacing:0.2px">- Introductions of meeting participants</span></div><div><span style="color:rgb(60,64,67);font-family:Roboto,Arial,sans-serif;font-size:14px;letter-spacing:0.2px">Additional topic: Discussion of the proposed conflict resolution principle: In case of conflict, consider </span>users over font developers over implementers over specifiers over theoretical purity. (Borrowed from the <a href="https://www.w3.org/TR/html-design-principles/#priority-of-constituencies">HTML Design Principles, Priority of Constituencies</a>)</div><div>1. Topic: Overcoming 64K glyph limit discussion summary</div><div>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.</div><div>Additional experiments (+ test fonts) would be needed to validate certain assumptions made as part of the discussion.</div><div>(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.)</div><div>Action Item: Prepare, validate and submit an updated proposal to reflect the new approach.</div><div>2. Topic: 'avar' version 2 discussion summary</div><div>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. <br></div><div>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</div><div>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. </div><div>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.</div><div>3. Topic: Composite glyphs / variable components discussion summary</div><div>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.</div><div>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.</div><div>4. Topic: Combining cubic and quadratic Bézier curves in glyphs</div><div>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 experiments.)</div><div>5a. Topic: <a href="https://github.com/MPEGGroup/OpenFontFormat/issues/52">Font interface default settings</a></div><div>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 <a href="https://github.com/MPEGGroup/OpenFontFormat/issues/52">proposal</a> for details].</div><div>5b. Topic: Variable substitutions (also see GitHub issues <a href="https://github.com/MPEGGroup/OpenFontFormat/issues/53">#53</a> & <a href="https://github.com/MPEGGroup/OpenFontFormat/issues/54">#54</a>)</div><div>Discussions were centered on the examples described in both GitHub issues and in more details in the <a href="https://github.com/MPEGGroup/OpenFontFormat/files/12198534/conditions.pdf" style="box-sizing:border-box;outline:none;font-family:-apple-system,"system-ui","Segoe UI","Noto Sans",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";font-size:14px">conditions.pdf</a> document. 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.</div><div><br></div><div>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. </div><div><br></div><div>Near-term next steps / goals:</div><div>- prepare the updated proposal for new 'glyf2' table combining changes for extending 64K glyph limit + variable components and mixed quadratic / cubic outlines;</div><div>- prepare new proposals (variable substitutions, UI defaults);</div><div>- 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.</div><div><br></div><div>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.</div><div><br></div><div>Thank you all for your active participation, this was by far the most well attended and productive discussion we had to date.</div><div>Vladimir</div><div><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Aug 9, 2023 at 10:15 PM Vladimir Levantovsky <<a href="mailto:vladimir.levantovsky@gmail.com">vladimir.levantovsky@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">Dear all,<br><div><br></div><div>The meeting details have been finalized, and the agenda for our meeting (scheduled on Aug. 17, 2023) is as follows <span style="color:rgb(60,64,67);font-family:Roboto,Arial,sans-serif;letter-spacing:0.2px">(</span><span style="color:rgb(60,64,67);font-family:Roboto,Arial,sans-serif;font-size:14px;letter-spacing:0.2px">all time slots are tentative and indicated in local US Pacific time zone):</span></div><div><br style="color:rgb(60,64,67);font-family:Roboto,Arial,sans-serif;font-size:14px;letter-spacing:0.2px"><span style="color:rgb(60,64,67);font-family:Roboto,Arial,sans-serif;font-size:14px;letter-spacing:0.2px">The major part of the discussions will be centered on various proposed changes summarized in the </span><a href="https://www.google.com/url?q=https://www.mpeg.org/wp-content/uploads/mpeg_meetings/142_Antalya/w22631.zip&sa=D&source=calendar&usd=2&usg=AOvVaw2S_Kr2e3cMgCFFOf-QiNKa" style="font-family:Roboto,Arial,sans-serif;font-size:14px;letter-spacing:0.2px" target="_blank">Technologies under consideration for ISO/IEC 14496-22 5th edition Open Font Format</a><span style="color:rgb(60,64,67);font-family:Roboto,Arial,sans-serif;font-size:14px;letter-spacing:0.2px"> document.</span><br style="color:rgb(60,64,67);font-family:Roboto,Arial,sans-serif;font-size:14px;letter-spacing:0.2px"><br style="color:rgb(60,64,67);font-family:Roboto,Arial,sans-serif;font-size:14px;letter-spacing:0.2px"><span style="color:rgb(60,64,67);font-family:Roboto,Arial,sans-serif;font-size:14px;letter-spacing:0.2px">0. Meeting opening / introductions (9:00 - 9:30 am)</span><br style="color:rgb(60,64,67);font-family:Roboto,Arial,sans-serif;font-size:14px;letter-spacing:0.2px"><span style="color:rgb(60,64,67);font-family:Roboto,Arial,sans-serif;font-size:14px;letter-spacing:0.2px">1. Overcoming 64K glyph limit, see chapter 4 of the TUC (9:30 - 12:00 pm): </span><br style="color:rgb(60,64,67);font-family:Roboto,Arial,sans-serif;font-size:14px;letter-spacing:0.2px"><span style="color:rgb(60,64,67);font-family:Roboto,Arial,sans-serif;font-size:14px;letter-spacing:0.2px">- table changes and inter-dependencies</span><br style="color:rgb(60,64,67);font-family:Roboto,Arial,sans-serif;font-size:14px;letter-spacing:0.2px"><span style="color:rgb(60,64,67);font-family:Roboto,Arial,sans-serif;font-size:14px;letter-spacing:0.2px">- backward compatibility concerns</span><br style="color:rgb(60,64,67);font-family:Roboto,Arial,sans-serif;font-size:14px;letter-spacing:0.2px"><span style="color:rgb(60,64,67);font-family:Roboto,Arial,sans-serif;font-size:14px;letter-spacing:0.2px">- implementation (deployment) challenges for various platforms</span><br style="color:rgb(60,64,67);font-family:Roboto,Arial,sans-serif;font-size:14px;letter-spacing:0.2px"><span style="color:rgb(60,64,67);font-family:Roboto,Arial,sans-serif;font-size:14px;letter-spacing:0.2px">- resource and timeline planning</span><br style="color:rgb(60,64,67);font-family:Roboto,Arial,sans-serif;font-size:14px;letter-spacing:0.2px"><span style="color:rgb(60,64,67);font-family:Roboto,Arial,sans-serif;font-size:14px;letter-spacing:0.2px">2. Updated AVAR table changes, see updated Working Draft (12:00 - 12:30 pm)</span><br style="color:rgb(60,64,67);font-family:Roboto,Arial,sans-serif;font-size:14px;letter-spacing:0.2px"><span style="color:rgb(60,64,67);font-family:Roboto,Arial,sans-serif;font-size:14px;letter-spacing:0.2px">Lunch break: 12:30 - 1:30 PM</span><br style="color:rgb(60,64,67);font-family:Roboto,Arial,sans-serif;font-size:14px;letter-spacing:0.2px"><span style="color:rgb(60,64,67);font-family:Roboto,Arial,sans-serif;font-size:14px;letter-spacing:0.2px">3. Variable glyph components, see chapter 3 of the TUC (1:30 - 2:30)</span><br style="color:rgb(60,64,67);font-family:Roboto,Arial,sans-serif;font-size:14px;letter-spacing:0.2px"><span style="color:rgb(60,64,67);font-family:Roboto,Arial,sans-serif;font-size:14px;letter-spacing:0.2px">- challenges / major hurdles / backward compatibility / timeline planing</span><br style="color:rgb(60,64,67);font-family:Roboto,Arial,sans-serif;font-size:14px;letter-spacing:0.2px"><span style="color:rgb(60,64,67);font-family:Roboto,Arial,sans-serif;font-size:14px;letter-spacing:0.2px">4. Proposed </span><span style="color:rgb(60,64,67);font-family:Roboto,Arial,sans-serif;font-size:14px;letter-spacing:0.2px">'glyf' V2 updates, see chapter 2 of the TUC (2:30 - 3:30 pm)</span><br style="color:rgb(60,64,67);font-family:Roboto,Arial,sans-serif;font-size:14px;letter-spacing:0.2px"><span style="color:rgb(60,64,67);font-family:Roboto,Arial,sans-serif;font-size:14px;letter-spacing:0.2px">Coffee break: 3:30 - 4:00 pm</span><br style="color:rgb(60,64,67);font-family:Roboto,Arial,sans-serif;font-size:14px;letter-spacing:0.2px"><span style="color:rgb(60,64,67);font-family:Roboto,Arial,sans-serif;font-size:14px;letter-spacing:0.2px">5. New proposals / open issues, see </span><a href="https://www.google.com/url?q=https://github.com/MPEGGroup/OpenFontFormat/issues&sa=D&source=calendar&usd=2&usg=AOvVaw3OajI9EJatZEuGer7pomoz" style="font-family:Roboto,Arial,sans-serif;font-size:14px;letter-spacing:0.2px" target="_blank">https://github.com/MPEGGroup/OpenFontFormat/issues</a><span style="color:rgb(60,64,67);font-family:Roboto,Arial,sans-serif;font-size:14px;letter-spacing:0.2px"> (4:00 - 5:00 pm)</span><br style="color:rgb(60,64,67);font-family:Roboto,Arial,sans-serif;font-size:14px;letter-spacing:0.2px"></div><div><span style="color:rgb(60,64,67);font-family:Roboto,Arial,sans-serif;font-size:14px;letter-spacing:0.2px"><br></span></div><div><span style="color:rgb(60,64,67);font-family:Roboto,Arial,sans-serif;font-size:14px;letter-spacing:0.2px">All registered participants, who either submitted a form entry for in-person participation or sent an RSVP for remote participation, should have received a meeting invitation that includes additional details. </span></div><div><span style="color:rgb(60,64,67);font-family:Roboto,Arial,sans-serif;font-size:14px;letter-spacing:0.2px">IMPORTANT - If you plan to attend in person, or RSVP'ed via email and have NOT received a meeting invite - please contact me directly and I will add you to the invite list. </span></div><div><span style="color:rgb(60,64,67);font-family:Roboto,Arial,sans-serif;font-size:14px;letter-spacing:0.2px"><br></span></div><div><span style="color:rgb(60,64,67);font-family:Roboto,Arial,sans-serif;font-size:14px;letter-spacing:0.2px">Thank you,</span></div><div><span style="color:rgb(60,64,67);font-family:Roboto,Arial,sans-serif;font-size:14px;letter-spacing:0.2px">Vladimir </span></div><div><span style="color:rgb(60,64,67);font-family:Roboto,Arial,sans-serif;font-size:14px;letter-spacing:0.2px"><br></span></div><div><font color="#3c4043" face="Roboto, Arial, sans-serif"><span style="font-size:14px;letter-spacing:0.2px">P.S. Stay tuned for public availability of the updated Working Draft text. I will send another email with the link, as soon as the document is made available for download.</span></font></div><div><font color="#3c4043" face="Roboto, Arial, sans-serif"><span style="font-size:14px;letter-spacing:0.2px"><br></span></font></div></div>
</blockquote></div>