16:01:04 RRSAgent has joined #webfonts 16:01:04 logging to https://www.w3.org/2022/10/04-webfonts-irc 16:01:19 Zakim has joined #webfonts 16:01:29 zakim, start meeting 16:01:29 RRSAgent, make logs Public 16:01:30 Meeting: Web Fonts Working Group Teleconference 16:01:44 present+ 16:01:51 present+ 16:02:43 present+ 16:03:07 jhudson has joined #webfonts 16:06:56 https://docs.google.com/document/d/1MdtB_WPC2grAx3vFgLHA1-CqRzQtWj_cJYx40W2VQgI/edit#heading=h.dy3wd9u6su7 16:07:45 Speeding up incremental transfer patch generation 16:07:58 scribenick: skef 16:08:16 What is the current rough cost of patch generation using the current two methods relative to subset generation? 16:09:56 garret will answer in a bit 16:10:24 Different methods of speeding up patching 16:10:27 present+ jhudson 16:10:42 1) brotli quality parameter (computation vs size) 16:11:11 2) Custom brotli encoding possibilities 16:12:11 (brotli has meta-blocks, which are semi-independent chunks of data. meta-blocks can be produced via different methods) 16:13:05 Case 1: Supporting precompression of file sections that don't change between subsets (e.g. GPOS/GSUB with fixed GIDs) 16:13:36 Can embed chunks that are pre-compressed at higher quality 16:14:58 Case ?: Custom compression and diffing of font tables with a known format 16:24:55 Data summary: "Immutable" layout slower and larger for subsetting, but patches are correspondingly smaller. 16:25:29 Patch generation times are a bit more than double subset generation times for equivalent levels of compression. 16:27:29 Noto sans data: much larger font, correspondingly longer times, but mostly proportional to the times for a smaller font 16:29:28 Brotli level 5 is the minimum for patch generation (probably because of lack of back-tracking at lower levels) 16:37:10 Some preliminary work on generating back-track maps using table-specific knowledge. 16:37:35 Also investigating the possibility of pre-compressing frequently-transmitted-together glyph subsets 16:38:15 Opportunities to speed up HarfBuzz's mode for GID preserving subset generation 16:39:34 Data I presented: https://docs.google.com/spreadsheets/d/1Xf2KY4sbR_mSXDRJdO7mKKEBPSEBPmjCYxeqhvLOe7c/edit#gid=1341899720 16:49:40 https://github.com/garretrieger/patch-subset-incxfer/blob/custom_brotli/util/brotli_stream.h 16:50:27 https://github.com/garretrieger/patch-subset-incxfer/blob/custom_brotli/util/precompress-test.cc 16:51:38 Good to get comparable stats on vcdiff and also just gzipping the patches 16:53:13 Take aways: 1. precompression looks useful, provides meaningful speedups in some cases. Also may reduce overall transfer sizes by avoiding patching layout (or other tables0. 16:53:29 2. Brotli quality 5-8 looks like a sweet spot for dynamic use. 16:54:07 3. Lots of potential in the glyf diffing and custom brotli encoder approach, more work is needed to see the full benefits. 16:54:47 Relative to potential PRs: skef has the impression that everything discussed actually fits within the current spec -- ti's all below the level of what we've recorded so far 16:58:17 zakim, who is here? 16:58:17 Present: Vlad, skef, Garret, jhudson 16:58:19 On IRC I see jhudson, Zakim, RRSAgent, Vlad, Garret, skef, MariaAngelaPileri, Mike5Matrix, Github, drott, emilio 16:58:38 rrsagent, make minutes 16:58:38 I have made the request to generate https://www.w3.org/2022/10/04-webfonts-minutes.html Vlad