1*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 10.1.0 2*2d1272b8SAndroid Build Coastguard WorkerTuesday, November 5, 2024 3*2d1272b8SAndroid Build Coastguard Worker==================================== 4*2d1272b8SAndroid Build Coastguard Worker- Fix the sign of fallback vertical glyph advance (used when font has no 5*2d1272b8SAndroid Build Coastguard Worker vertical advance data). 6*2d1272b8SAndroid Build Coastguard Worker- Increase maximum “CFF” operands limit 20 times to support more complex fonts. 7*2d1272b8SAndroid Build Coastguard Worker- Add “--face-loader” option to command line utilities. 8*2d1272b8SAndroid Build Coastguard Worker- Support “COLR” v0 table in hb_font_get_glyph_extents(). 9*2d1272b8SAndroid Build Coastguard Worker- Add support for font functions that use Core Text APIs, similar to FreeType 10*2d1272b8SAndroid Build Coastguard Worker font functions. This allows, for example, using drawing fonts that use the new 11*2d1272b8SAndroid Build Coastguard Worker (and undocumented) “hvgl” table. 12*2d1272b8SAndroid Build Coastguard Worker- Update IANA and OT language registries, as well ase USE data files. 13*2d1272b8SAndroid Build Coastguard Worker- Fix build with ICU 76. 14*2d1272b8SAndroid Build Coastguard Worker- Various compiler warnings and build fixes. 15*2d1272b8SAndroid Build Coastguard Worker- Various subsetter fixes. 16*2d1272b8SAndroid Build Coastguard Worker 17*2d1272b8SAndroid Build Coastguard Worker- New API: 18*2d1272b8SAndroid Build Coastguard Worker+hb_face_create_or_fail() 19*2d1272b8SAndroid Build Coastguard Worker+hb_face_create_from_file_or_fail() 20*2d1272b8SAndroid Build Coastguard Worker+hb_coretext_face_create_from_file_or_fail() 21*2d1272b8SAndroid Build Coastguard Worker+hb_coretext_font_set_funcs() 22*2d1272b8SAndroid Build Coastguard Worker+hb_ft_face_create_from_file_or_fail() 23*2d1272b8SAndroid Build Coastguard Worker 24*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 10.0.1 25*2d1272b8SAndroid Build Coastguard WorkerTuesday, September 24, 2024 26*2d1272b8SAndroid Build Coastguard Worker==================================== 27*2d1272b8SAndroid Build Coastguard Worker- Relax sanitization checks for “morx” subtables to fix broken AAT shaping of 28*2d1272b8SAndroid Build Coastguard Worker macOS 15.0 version of GeezaPro. 29*2d1272b8SAndroid Build Coastguard Worker 30*2d1272b8SAndroid Build Coastguard Worker 31*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 10.0.0 32*2d1272b8SAndroid Build Coastguard WorkerMonday, September 23, 2024 33*2d1272b8SAndroid Build Coastguard Worker==================================== 34*2d1272b8SAndroid Build Coastguard Worker- Unicode 16.0.0 support. 35*2d1272b8SAndroid Build Coastguard Worker- Various documentation fixes. 36*2d1272b8SAndroid Build Coastguard Worker- Various build fixes. 37*2d1272b8SAndroid Build Coastguard Worker- Add API to allow HarfBuzz client to set what glyph to use when a Unicode 38*2d1272b8SAndroid Build Coastguard Worker Variation Selector is not supported by the font, which would allow the client 39*2d1272b8SAndroid Build Coastguard Worker to customize what happens in this case, by using a different font for example. 40*2d1272b8SAndroid Build Coastguard Worker- Add a callback to for “hb_face_t” for getting the list of table tags. This is 41*2d1272b8SAndroid Build Coastguard Worker now used to make calling “hb_face_get_table_tags()” work on a faces created by 42*2d1272b8SAndroid Build Coastguard Worker “hb_face_create_for_tables()” (e.g. faces returned by “hb_subset_or_fail()”). 43*2d1272b8SAndroid Build Coastguard Worker- CGJ and Mongolian Variation Selectors are now ignored during glyph 44*2d1272b8SAndroid Build Coastguard Worker positioning, previously they would block both glyph substitution and 45*2d1272b8SAndroid Build Coastguard Worker positioning across them. 46*2d1272b8SAndroid Build Coastguard Worker- Support cairo script as an output format for “hb-view” command line tool. 47*2d1272b8SAndroid Build Coastguard Worker- Drop an optimization that would cause HarfBuzz not apply pair positioning 48*2d1272b8SAndroid Build Coastguard Worker lookup subtables under certain circumstances, for compatibility with other 49*2d1272b8SAndroid Build Coastguard Worker implementations that do apply these subtables. 50*2d1272b8SAndroid Build Coastguard Worker- Subsetting will now fail if source font has no glyphs, so feeding the subsetter 51*2d1272b8SAndroid Build Coastguard Worker invalid data will not silently return an empty face. 52*2d1272b8SAndroid Build Coastguard Worker- If after partially instancing a font no variation data is left (the instance 53*2d1272b8SAndroid Build Coastguard Worker is fully static), don’t consider this a failure. 54*2d1272b8SAndroid Build Coastguard Worker- Workaround a Firefox bug in displaying SVGs generated be “hb-view” command 55*2d1272b8SAndroid Build Coastguard Worker line tool under certain circumstances. 56*2d1272b8SAndroid Build Coastguard Worker- Fix bug in macroman mapping for “cmap” table. 57*2d1272b8SAndroid Build Coastguard Worker- Fix difference shaping output when HarfBuzz is built with with 58*2d1272b8SAndroid Build Coastguard Worker “HB_NO_OT_RULESETS_FAST_PATH” enabled. 59*2d1272b8SAndroid Build Coastguard Worker- Various subsetting and instancing fixes. 60*2d1272b8SAndroid Build Coastguard Worker- Various fuzzing fixes. 61*2d1272b8SAndroid Build Coastguard Worker- Add “with_libstdcxx” meson build option. 62*2d1272b8SAndroid Build Coastguard Worker 63*2d1272b8SAndroid Build Coastguard Worker 64*2d1272b8SAndroid Build Coastguard Worker- New API: 65*2d1272b8SAndroid Build Coastguard Worker+HB_SCRIPT_GARAY 66*2d1272b8SAndroid Build Coastguard Worker+HB_SCRIPT_GURUNG_KHEMA 67*2d1272b8SAndroid Build Coastguard Worker+HB_SCRIPT_KIRAT_RAI 68*2d1272b8SAndroid Build Coastguard Worker+HB_SCRIPT_OL_ONAL 69*2d1272b8SAndroid Build Coastguard Worker+HB_SCRIPT_SUNUWAR 70*2d1272b8SAndroid Build Coastguard Worker+HB_SCRIPT_TODHRI 71*2d1272b8SAndroid Build Coastguard Worker+HB_SCRIPT_TULU_TIGALARI 72*2d1272b8SAndroid Build Coastguard Worker+hb_buffer_set_not_found_variation_selector_glyph() 73*2d1272b8SAndroid Build Coastguard Worker+hb_buffer_get_not_found_variation_selector_glyph() 74*2d1272b8SAndroid Build Coastguard Worker+hb_get_table_tags_func_t 75*2d1272b8SAndroid Build Coastguard Worker+hb_face_set_get_table_tags_func() 76*2d1272b8SAndroid Build Coastguard Worker 77*2d1272b8SAndroid Build Coastguard Worker 78*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 9.0.0 79*2d1272b8SAndroid Build Coastguard WorkerThursday, Jun 27, 2024 80*2d1272b8SAndroid Build Coastguard Worker==================================== 81*2d1272b8SAndroid Build Coastguard Worker- HarfBuzz now the supports the proposed new OpenType “VARC” table. This 82*2d1272b8SAndroid Build Coastguard Worker replaces the previously supported “Variable Composites” experimental feature. 83*2d1272b8SAndroid Build Coastguard Worker “VARC” support is still experimental and it is not enabled unless HarfBuzz is 84*2d1272b8SAndroid Build Coastguard Worker built with experimental APIs enabled: 85*2d1272b8SAndroid Build Coastguard Worker https://github.com/harfbuzz/boring-expansion-spec/blob/main/VARC.md 86*2d1272b8SAndroid Build Coastguard Worker- Autotools build system have been dropped. Meson is the only supported build 87*2d1272b8SAndroid Build Coastguard Worker system in HarfBuzz going forward. 88*2d1272b8SAndroid Build Coastguard Worker- Speed up “AAT” shaping for short words by up to 4%. 89*2d1272b8SAndroid Build Coastguard Worker- Ignore unknown “CFF” operators. 90*2d1272b8SAndroid Build Coastguard Worker- “hb_subset_input_keep_everything()” now keeps also non-unicode “name” table 91*2d1272b8SAndroid Build Coastguard Worker records. 92*2d1272b8SAndroid Build Coastguard Worker- Update the IANA and OpenType language tag registries. 93*2d1272b8SAndroid Build Coastguard Worker- Support composite glyphs with very large number of points in hb-draw API. 94*2d1272b8SAndroid Build Coastguard Worker- Various build fixes. 95*2d1272b8SAndroid Build Coastguard Worker 96*2d1272b8SAndroid Build Coastguard Worker 97*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 8.5.0 98*2d1272b8SAndroid Build Coastguard WorkerMonday, May 13, 2024 99*2d1272b8SAndroid Build Coastguard Worker==================================== 100*2d1272b8SAndroid Build Coastguard Worker- API for partial instancing is now stable and have been promoted out of 101*2d1272b8SAndroid Build Coastguard Worker experimental APIs. 102*2d1272b8SAndroid Build Coastguard Worker- Support instancing “BASE” table. 103*2d1272b8SAndroid Build Coastguard Worker- Speedup AAT shaping by 13–30%. 104*2d1272b8SAndroid Build Coastguard Worker- Various build fixes. 105*2d1272b8SAndroid Build Coastguard Worker- Various subsetter and instancer fixes. 106*2d1272b8SAndroid Build Coastguard Worker 107*2d1272b8SAndroid Build Coastguard Worker- New API: 108*2d1272b8SAndroid Build Coastguard Worker+HB_SUBSET_FLAGS_OPTIMIZE_IUP_DELTAS 109*2d1272b8SAndroid Build Coastguard Worker+hb_subset_input_get_axis_range() 110*2d1272b8SAndroid Build Coastguard Worker+hb_subset_input_pin_axis_location() 111*2d1272b8SAndroid Build Coastguard Worker 112*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 8.4.0 113*2d1272b8SAndroid Build Coastguard WorkerSaturday, March 29, 2024 114*2d1272b8SAndroid Build Coastguard Worker==================================== 115*2d1272b8SAndroid Build Coastguard Worker- Add /bigobj to MSVC compiler flags in meson build, to fix building hb-subset.cc 116*2d1272b8SAndroid Build Coastguard Worker- Specify minimum versions of various dependencies in meson and autotools build. 117*2d1272b8SAndroid Build Coastguard Worker- When subsetting, place variation store at the end of “GDEF” table to fix 118*2d1272b8SAndroid Build Coastguard Worker shaping issues with some versions of Adobe InDesign. 119*2d1272b8SAndroid Build Coastguard Worker- Various build fixes. 120*2d1272b8SAndroid Build Coastguard Worker 121*2d1272b8SAndroid Build Coastguard Worker- New API: 122*2d1272b8SAndroid Build Coastguard Worker+hb_buffer_set_random_state() 123*2d1272b8SAndroid Build Coastguard Worker+hb_buffer_get_random_state() 124*2d1272b8SAndroid Build Coastguard Worker 125*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 8.3.1 126*2d1272b8SAndroid Build Coastguard WorkerSaturday, March 16, 2024 127*2d1272b8SAndroid Build Coastguard Worker==================================== 128*2d1272b8SAndroid Build Coastguard Worker- hb_blob_create_from_file_or_fail() on Windows will now try to interpret the 129*2d1272b8SAndroid Build Coastguard Worker file name as UTF-8 first, and as system code page if it is not valid UTF-8. 130*2d1272b8SAndroid Build Coastguard Worker- Fix hb_style_get_value() in fonts with “STAT” table. 131*2d1272b8SAndroid Build Coastguard Worker- Properly handle negative offsets in CFF table. 132*2d1272b8SAndroid Build Coastguard Worker- Update IANA Language Subtag Registry to 2024-03-07. 133*2d1272b8SAndroid Build Coastguard Worker- Subsetter now supports subsetting “BASE” table. 134*2d1272b8SAndroid Build Coastguard Worker- Subsetter will update “hhea” font metrics in sync with “OS/2” ones. 135*2d1272b8SAndroid Build Coastguard Worker- “--variations” option of “hb-subset” now supports leaving out values that 136*2d1272b8SAndroid Build Coastguard Worker should be unchanged, e.g. “wght=:500:” will change the default and keep max 137*2d1272b8SAndroid Build Coastguard Worker and min unchanged. It also supports “*=drop” to to pin all axes to default 138*2d1272b8SAndroid Build Coastguard Worker location. 139*2d1272b8SAndroid Build Coastguard Worker- Fix hb_ot_math_get_glyph_kerning() to match updated “MATH” table spec. 140*2d1272b8SAndroid Build Coastguard Worker- Support legacy MacRoman encoding in “cmap” table. 141*2d1272b8SAndroid Build Coastguard Worker- Various build fixes. 142*2d1272b8SAndroid Build Coastguard Worker- Various subsetting and instancing fixes. 143*2d1272b8SAndroid Build Coastguard Worker 144*2d1272b8SAndroid Build Coastguard Worker- New API: 145*2d1272b8SAndroid Build Coastguard Workerhb_subset_input_pin_all_axes_to_default() 146*2d1272b8SAndroid Build Coastguard Worker 147*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 8.3.0 148*2d1272b8SAndroid Build Coastguard WorkerSaturday, November 11, 2023 149*2d1272b8SAndroid Build Coastguard Worker==================================== 150*2d1272b8SAndroid Build Coastguard Worker- Improve memory barrier to fix potential segfaults. 151*2d1272b8SAndroid Build Coastguard Worker- Various build fixes. 152*2d1272b8SAndroid Build Coastguard Worker- Various subsetting and instancing fixes. 153*2d1272b8SAndroid Build Coastguard Worker- Rename “hb-subset” option “--instance” to “--variations” to match the other 154*2d1272b8SAndroid Build Coastguard Worker tools. Old option is kept as an alias. 155*2d1272b8SAndroid Build Coastguard Worker 156*2d1272b8SAndroid Build Coastguard Worker- New API: 157*2d1272b8SAndroid Build Coastguard WorkerHB_AAT_LAYOUT_FEATURE_TYPE_CURSIVE_CONNECTION 158*2d1272b8SAndroid Build Coastguard Worker 159*2d1272b8SAndroid Build Coastguard Worker- Deprecated API: 160*2d1272b8SAndroid Build Coastguard WorkerHB_AAT_LAYOUT_FEATURE_TYPE_CURISVE_CONNECTION 161*2d1272b8SAndroid Build Coastguard Worker 162*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 8.2.2 163*2d1272b8SAndroid Build Coastguard WorkerWednesday, October 18, 2023 164*2d1272b8SAndroid Build Coastguard Worker“From the river to the sea, Palestine will be free” 165*2d1272b8SAndroid Build Coastguard Worker==================================== 166*2d1272b8SAndroid Build Coastguard Worker- Fix regression from 8.1.0 in shaping fonts with duplicate feature tags. 167*2d1272b8SAndroid Build Coastguard Worker- Fix regression from 8.2.0 in parsing CSS-style feature strings. 168*2d1272b8SAndroid Build Coastguard Worker- Variable fonts instanciation now handles more tables. 169*2d1272b8SAndroid Build Coastguard Worker- Various CMake build improvements. 170*2d1272b8SAndroid Build Coastguard Worker- various fixes to build without errors with gcc 4.9.2. 171*2d1272b8SAndroid Build Coastguard Worker 172*2d1272b8SAndroid Build Coastguard Worker 173*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 8.2.1 174*2d1272b8SAndroid Build Coastguard WorkerMonday, September 18, 2023 175*2d1272b8SAndroid Build Coastguard Worker==================================== 176*2d1272b8SAndroid Build Coastguard Worker- Unicode 15.1 support. 177*2d1272b8SAndroid Build Coastguard Worker 178*2d1272b8SAndroid Build Coastguard Worker 179*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 8.2.0 180*2d1272b8SAndroid Build Coastguard WorkerFriday, September 8, 2023 181*2d1272b8SAndroid Build Coastguard Worker==================================== 182*2d1272b8SAndroid Build Coastguard Worker- Various build and fuzzing fixes 183*2d1272b8SAndroid Build Coastguard Worker- Improvements to COLRv1 painting. 184*2d1272b8SAndroid Build Coastguard Worker 185*2d1272b8SAndroid Build Coastguard Worker- New API: 186*2d1272b8SAndroid Build Coastguard Worker+hb_paint_color_glyph_func_t 187*2d1272b8SAndroid Build Coastguard Worker+hb_paint_funcs_set_color_glyph_func 188*2d1272b8SAndroid Build Coastguard Worker+hb_paint_color_glyph 189*2d1272b8SAndroid Build Coastguard Worker 190*2d1272b8SAndroid Build Coastguard Worker 191*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 8.1.1 192*2d1272b8SAndroid Build Coastguard WorkerWednesday, August 2, 2023 193*2d1272b8SAndroid Build Coastguard Worker==================================== 194*2d1272b8SAndroid Build Coastguard Worker- Fix shaping of contextual rules at the end of string, introduced in 8.1.0 195*2d1272b8SAndroid Build Coastguard Worker- Fix stack-overflow in repacker with malicious fonts. 196*2d1272b8SAndroid Build Coastguard Worker- 30% speed up loading Noto Duployan font. 197*2d1272b8SAndroid Build Coastguard Worker 198*2d1272b8SAndroid Build Coastguard Worker 199*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 8.1.0 200*2d1272b8SAndroid Build Coastguard WorkerTuesday, August 1, 2023 201*2d1272b8SAndroid Build Coastguard Worker==================================== 202*2d1272b8SAndroid Build Coastguard Worker- Fix long-standing build issue with the AIX compiler and older Apple clang. 203*2d1272b8SAndroid Build Coastguard Worker 204*2d1272b8SAndroid Build Coastguard Worker- Revert optimization that could cause timeout during subsetting with malicious fonts. 205*2d1272b8SAndroid Build Coastguard Worker 206*2d1272b8SAndroid Build Coastguard Worker- More optimization work: 207*2d1272b8SAndroid Build Coastguard Worker - 45% speed up in shaping Noto Duployan font. 208*2d1272b8SAndroid Build Coastguard Worker - 10% speed up in subsetting Noto Duployan font. 209*2d1272b8SAndroid Build Coastguard Worker - Another 8% speed up in shaping Gulzar. 210*2d1272b8SAndroid Build Coastguard Worker - 5% speed up in loading Roboto. 211*2d1272b8SAndroid Build Coastguard Worker 212*2d1272b8SAndroid Build Coastguard Worker- New API: 213*2d1272b8SAndroid Build Coastguard Worker+hb_ot_layout_collect_features_map() 214*2d1272b8SAndroid Build Coastguard Worker 215*2d1272b8SAndroid Build Coastguard Worker 216*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 8.0.1 217*2d1272b8SAndroid Build Coastguard WorkerWednesday, July 12, 2023 218*2d1272b8SAndroid Build Coastguard Worker==================================== 219*2d1272b8SAndroid Build Coastguard Worker- Build fix on 32-bit ARM. 220*2d1272b8SAndroid Build Coastguard Worker 221*2d1272b8SAndroid Build Coastguard Worker- More speed optimizations: 222*2d1272b8SAndroid Build Coastguard Worker - 60% speed up in retain-gid (used for IFT) subsetting of SourceHanSans-VF. 223*2d1272b8SAndroid Build Coastguard Worker - 16% speed up in retain-gid (used for IFT) subsetting of NotoSansCJKkr. 224*2d1272b8SAndroid Build Coastguard Worker - 38% speed up in subsetting (beyond-64k) mega-merged Noto. 225*2d1272b8SAndroid Build Coastguard Worker 226*2d1272b8SAndroid Build Coastguard Worker 227*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 8.0.0 228*2d1272b8SAndroid Build Coastguard WorkerSunday, July 9, 2023 229*2d1272b8SAndroid Build Coastguard Worker==================================== 230*2d1272b8SAndroid Build Coastguard Worker- New, experimental, WebAssembly (WASM) shaper, that provides greater 231*2d1272b8SAndroid Build Coastguard Worker flexibility over OpenType/AAT/Graphite shaping, using WebAssembly embedded 232*2d1272b8SAndroid Build Coastguard Worker inside the font file. Currently WASM shaper is disabled by default and needs 233*2d1272b8SAndroid Build Coastguard Worker to be enabled at build time. For details, see: 234*2d1272b8SAndroid Build Coastguard Worker 235*2d1272b8SAndroid Build Coastguard Worker https://github.com/harfbuzz/harfbuzz/blob/main/docs/wasm-shaper.md 236*2d1272b8SAndroid Build Coastguard Worker 237*2d1272b8SAndroid Build Coastguard Worker For example fonts making use of the WASM shaper, see: 238*2d1272b8SAndroid Build Coastguard Worker 239*2d1272b8SAndroid Build Coastguard Worker https://github.com/harfbuzz/harfbuzz-wasm-examples 240*2d1272b8SAndroid Build Coastguard Worker 241*2d1272b8SAndroid Build Coastguard Worker- Improvements to Experimental features introduced in earlier releases: 242*2d1272b8SAndroid Build Coastguard Worker - Support for subsetting beyond-64k and VarComposites fonts. 243*2d1272b8SAndroid Build Coastguard Worker - Support for instancing variable fonts with cubic “glyf” table. 244*2d1272b8SAndroid Build Coastguard Worker 245*2d1272b8SAndroid Build Coastguard Worker- Many big speed optimizations: 246*2d1272b8SAndroid Build Coastguard Worker - Up to 89% speedup loading variable fonts for shaping. 247*2d1272b8SAndroid Build Coastguard Worker - Up to 88% speedup in small subsets of large (eg. CJK) fonts (both TTF and 248*2d1272b8SAndroid Build Coastguard Worker OTF), essential for Incremental Font Transfer (IFT). 249*2d1272b8SAndroid Build Coastguard Worker - Over 50% speedup in loading Roboto font for shaping. 250*2d1272b8SAndroid Build Coastguard Worker - Up to 40% speed up in loading (sanitizing) complex fonts. 251*2d1272b8SAndroid Build Coastguard Worker - 30% speed up in shaping Gulzar font. 252*2d1272b8SAndroid Build Coastguard Worker - Over 25% speedup in glyph loading Roboto font. 253*2d1272b8SAndroid Build Coastguard Worker - 10% speed up loading glyph shapes in VarComposite Hangul font. 254*2d1272b8SAndroid Build Coastguard Worker - hb-hashmap optimizations & hashing improvements. 255*2d1272b8SAndroid Build Coastguard Worker 256*2d1272b8SAndroid Build Coastguard Worker- New macro HB_ALWAYS_INLINE. HarfBuzz now inlines functions more aggressively, 257*2d1272b8SAndroid Build Coastguard Worker which results in some speedup at the expense of bigger code size. To disable 258*2d1272b8SAndroid Build Coastguard Worker this feature define the macro to just inline. 259*2d1272b8SAndroid Build Coastguard Worker 260*2d1272b8SAndroid Build Coastguard Worker- New API: 261*2d1272b8SAndroid Build Coastguard Worker+HB_CODEPOINT_INVALID 262*2d1272b8SAndroid Build Coastguard Worker+hb_ot_layout_get_baseline2() 263*2d1272b8SAndroid Build Coastguard Worker+hb_ot_layout_get_baseline_with_fallback2() 264*2d1272b8SAndroid Build Coastguard Worker+hb_ot_layout_get_font_extents() 265*2d1272b8SAndroid Build Coastguard Worker+hb_ot_layout_get_font_extents2() 266*2d1272b8SAndroid Build Coastguard Worker+hb_subset_input_set_axis_range() 267*2d1272b8SAndroid Build Coastguard Worker 268*2d1272b8SAndroid Build Coastguard Worker 269*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 7.3.0 270*2d1272b8SAndroid Build Coastguard WorkerTuesday, May 9, 2023 271*2d1272b8SAndroid Build Coastguard Worker==================================== 272*2d1272b8SAndroid Build Coastguard Worker- Speedup applying glyph variation in VarComposites fonts (over 40% speedup). 273*2d1272b8SAndroid Build Coastguard Worker (Behdad Esfahbod) 274*2d1272b8SAndroid Build Coastguard Worker- Speedup instancing some fonts (over 20% speedup in instancing RobotoFlex). 275*2d1272b8SAndroid Build Coastguard Worker (Behdad Esfahbod) 276*2d1272b8SAndroid Build Coastguard Worker- Speedup shaping some fonts (over 30% speedup in shaping Roboto). 277*2d1272b8SAndroid Build Coastguard Worker (Behdad Esfahbod) 278*2d1272b8SAndroid Build Coastguard Worker- Support subsetting VarComposites and beyond-64k fonts. (Behdad Esfahbod) 279*2d1272b8SAndroid Build Coastguard Worker- New configuration macro HB_MINIMIZE_MEMORY_USAGE to favor optimizing memory 280*2d1272b8SAndroid Build Coastguard Worker usage over speed. (Behdad Esfahbod) 281*2d1272b8SAndroid Build Coastguard Worker- Supporting setting the mapping between old and new glyph indices during 282*2d1272b8SAndroid Build Coastguard Worker subsetting. (Garret Rieger) 283*2d1272b8SAndroid Build Coastguard Worker- Various fixes and improvements. 284*2d1272b8SAndroid Build Coastguard Worker (Behdad Esfahbod, Denis Rochette, Garret Rieger, Han Seung Min, Qunxin Liu) 285*2d1272b8SAndroid Build Coastguard Worker 286*2d1272b8SAndroid Build Coastguard Worker- New API: 287*2d1272b8SAndroid Build Coastguard Worker+hb_subset_input_old_to_new_glyph_mapping() 288*2d1272b8SAndroid Build Coastguard Worker 289*2d1272b8SAndroid Build Coastguard Worker 290*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 7.2.0 291*2d1272b8SAndroid Build Coastguard WorkerThursday, April 27, 2023 292*2d1272b8SAndroid Build Coastguard Worker==================================== 293*2d1272b8SAndroid Build Coastguard Worker- Add Tifinagh to the list of scripts that can natively be either right-to-left 294*2d1272b8SAndroid Build Coastguard Worker or left-to-right, to improve handling of its glyph positioning. 295*2d1272b8SAndroid Build Coastguard Worker (Simon Cozens) 296*2d1272b8SAndroid Build Coastguard Worker- Return also single substitution from hb_ot_layout_lookup_get_glyph_alternates() 297*2d1272b8SAndroid Build Coastguard Worker (Behdad Esfahbod) 298*2d1272b8SAndroid Build Coastguard Worker- Fix 4.2.0 regression in applying across syllables in syllabic scripts. 299*2d1272b8SAndroid Build Coastguard Worker (Behdad Esfahbod) 300*2d1272b8SAndroid Build Coastguard Worker- Add flag to avoid glyph substitution closure during subsetting, and the 301*2d1272b8SAndroid Build Coastguard Worker corresponding “--no-layout-closure” option to “hb-subset” command line tool. 302*2d1272b8SAndroid Build Coastguard Worker (Garret Rieger) 303*2d1272b8SAndroid Build Coastguard Worker- Support instancing COLRv1 table. (Qunxin Liu) 304*2d1272b8SAndroid Build Coastguard Worker- Don’t drop used user-defined name table entries during subsetting. 305*2d1272b8SAndroid Build Coastguard Worker (Qunxin Liu) 306*2d1272b8SAndroid Build Coastguard Worker- Optimize handling of “gvar” table. (Behdad Esfahbod) 307*2d1272b8SAndroid Build Coastguard Worker- Various subsetter bug fixes and improvements. (Garret Rieger, Qunxin Liu) 308*2d1272b8SAndroid Build Coastguard Worker- Various documentation improvements. (Behdad Esfahbod, Josef Friedrich) 309*2d1272b8SAndroid Build Coastguard Worker 310*2d1272b8SAndroid Build Coastguard Worker- New API: 311*2d1272b8SAndroid Build Coastguard Worker+HB_SUBSET_FLAGS_NO_LAYOUT_CLOSURE 312*2d1272b8SAndroid Build Coastguard Worker+HB_UNICODE_COMBINING_CLASS_CCC132 313*2d1272b8SAndroid Build Coastguard Worker 314*2d1272b8SAndroid Build Coastguard Worker- Deprecated API: 315*2d1272b8SAndroid Build Coastguard Worker+HB_UNICODE_COMBINING_CLASS_CCC133 316*2d1272b8SAndroid Build Coastguard Worker 317*2d1272b8SAndroid Build Coastguard Worker 318*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 7.1.0 319*2d1272b8SAndroid Build Coastguard WorkerFriday, March 3, 2023 320*2d1272b8SAndroid Build Coastguard Worker==================================== 321*2d1272b8SAndroid Build Coastguard Worker- New experimental hb_shape_justify() API that uses font variations to expand 322*2d1272b8SAndroid Build Coastguard Worker or shrink the text to a given advance. (Behdad Esfahbod) 323*2d1272b8SAndroid Build Coastguard Worker- Various build and bug fixes. (Behdad Esfahbod, Garret Rieger, Qunxin Liu) 324*2d1272b8SAndroid Build Coastguard Worker 325*2d1272b8SAndroid Build Coastguard Worker- New API: 326*2d1272b8SAndroid Build Coastguard Worker+hb_font_set_variation() 327*2d1272b8SAndroid Build Coastguard Worker 328*2d1272b8SAndroid Build Coastguard Worker 329*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 7.0.1 330*2d1272b8SAndroid Build Coastguard WorkerMonday, February 20, 2023 331*2d1272b8SAndroid Build Coastguard Worker==================================== 332*2d1272b8SAndroid Build Coastguard Worker- Various build and bug fixes. 333*2d1272b8SAndroid Build Coastguard Worker 334*2d1272b8SAndroid Build Coastguard Worker 335*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 7.0.0 336*2d1272b8SAndroid Build Coastguard WorkerSaturday, February 11, 2023 337*2d1272b8SAndroid Build Coastguard Worker==================================== 338*2d1272b8SAndroid Build Coastguard Worker- New hb-paint API that is designed mainly to paint “COLRv1” glyphs, but can be 339*2d1272b8SAndroid Build Coastguard Worker also used as a unified API to paint any of the glyph representations 340*2d1272b8SAndroid Build Coastguard Worker supported by HarfBuzz (B/W outlines, color layers, or color bitmaps). 341*2d1272b8SAndroid Build Coastguard Worker (Behdad Esfahbod, Matthias Clasen) 342*2d1272b8SAndroid Build Coastguard Worker- New hb-cairo API for integrating with cairo graphics library. This is provided 343*2d1272b8SAndroid Build Coastguard Worker as a separate harfbuzz-cairo library. (Behdad Esfahbod, Matthias Clasen) 344*2d1272b8SAndroid Build Coastguard Worker- Support for instancing “CFF2” table. (Behdad Esfahbod) 345*2d1272b8SAndroid Build Coastguard Worker- Support font emboldening. (Behdad Esfahbod) 346*2d1272b8SAndroid Build Coastguard Worker- Support feature ranges with AAT shaping. (Behdad Esfahbod) 347*2d1272b8SAndroid Build Coastguard Worker- Experimental support to cubic curves in “glyf” table, see 348*2d1272b8SAndroid Build Coastguard Worker https://github.com/harfbuzz/boring-expansion-spec/blob/main/glyf1-cubicOutlines.md 349*2d1272b8SAndroid Build Coastguard Worker for spec. (Behdad Esfahbod) 350*2d1272b8SAndroid Build Coastguard Worker- Various subsetter improvements. (Garret Rieger, Qunxin Liu, Behdad Esfahbod) 351*2d1272b8SAndroid Build Coastguard Worker- Various documentation improvements. 352*2d1272b8SAndroid Build Coastguard Worker (Behdad Esfahbod, Matthias Clasen, Khaled Hosny) 353*2d1272b8SAndroid Build Coastguard Worker- Significantly reduced memory use during shaping. (Behdad Esfahbod) 354*2d1272b8SAndroid Build Coastguard Worker- Greatly reduced memory use during subsetting “CFF” table. (Behdad Esfahbod) 355*2d1272b8SAndroid Build Coastguard Worker- New command line utility, hb-info, for querying various font information. 356*2d1272b8SAndroid Build Coastguard Worker (Behdad Esfahbod, Matthias Clasen) 357*2d1272b8SAndroid Build Coastguard Worker- New hb-shape/hb-view options: --glyphs, --color-palette, --font-bold, 358*2d1272b8SAndroid Build Coastguard Worker --font-grade, and --named-instance. (Behdad Esfahbod) 359*2d1272b8SAndroid Build Coastguard Worker- Miscellaneous fixes and improvements. 360*2d1272b8SAndroid Build Coastguard Worker (Amir Masoud Abdol, Andres Salomon, Behdad Esfahbod, Chun-wei Fan, 361*2d1272b8SAndroid Build Coastguard Worker Garret Rieger, Jens Kutilek, Khaled Hosny, Konstantin Käfer, Matthias Clasen, 362*2d1272b8SAndroid Build Coastguard Worker Nirbheek Chauhan, Pedro J. Estébanez, Qunxin Liu, Sergei Trofimovich) 363*2d1272b8SAndroid Build Coastguard Worker 364*2d1272b8SAndroid Build Coastguard Worker- New API: 365*2d1272b8SAndroid Build Coastguard Worker+HB_FONT_NO_VAR_NAMED_INSTANCE 366*2d1272b8SAndroid Build Coastguard Worker+HB_PAINT_IMAGE_FORMAT_BGRA 367*2d1272b8SAndroid Build Coastguard Worker+HB_PAINT_IMAGE_FORMAT_PNG 368*2d1272b8SAndroid Build Coastguard Worker+HB_PAINT_IMAGE_FORMAT_SVG 369*2d1272b8SAndroid Build Coastguard Worker+hb_cairo_font_face_create_for_face 370*2d1272b8SAndroid Build Coastguard Worker+hb_cairo_font_face_create_for_font 371*2d1272b8SAndroid Build Coastguard Worker+hb_cairo_font_face_get_face 372*2d1272b8SAndroid Build Coastguard Worker+hb_cairo_font_face_get_font 373*2d1272b8SAndroid Build Coastguard Worker+hb_cairo_font_face_get_scale_factor 374*2d1272b8SAndroid Build Coastguard Worker+hb_cairo_font_face_set_font_init_func 375*2d1272b8SAndroid Build Coastguard Worker+hb_cairo_font_face_set_scale_factor 376*2d1272b8SAndroid Build Coastguard Worker+hb_cairo_font_init_func_t 377*2d1272b8SAndroid Build Coastguard Worker+hb_cairo_glyphs_from_buffer 378*2d1272b8SAndroid Build Coastguard Worker+hb_cairo_scaled_font_get_font 379*2d1272b8SAndroid Build Coastguard Worker+hb_color_line_get_color_stops 380*2d1272b8SAndroid Build Coastguard Worker+hb_color_line_get_color_stops_func_t 381*2d1272b8SAndroid Build Coastguard Worker+hb_color_line_get_extend 382*2d1272b8SAndroid Build Coastguard Worker+hb_color_line_get_extend_func_t 383*2d1272b8SAndroid Build Coastguard Worker+hb_color_line_t 384*2d1272b8SAndroid Build Coastguard Worker+hb_color_stop_t 385*2d1272b8SAndroid Build Coastguard Worker+hb_draw_funcs_get_empty 386*2d1272b8SAndroid Build Coastguard Worker+hb_draw_funcs_get_user_data 387*2d1272b8SAndroid Build Coastguard Worker+hb_draw_funcs_set_user_data 388*2d1272b8SAndroid Build Coastguard Worker+hb_face_collect_nominal_glyph_mapping 389*2d1272b8SAndroid Build Coastguard Worker+hb_font_draw_glyph 390*2d1272b8SAndroid Build Coastguard Worker+hb_font_draw_glyph_func_t 391*2d1272b8SAndroid Build Coastguard Worker+hb_font_funcs_set_draw_glyph_func 392*2d1272b8SAndroid Build Coastguard Worker+hb_font_funcs_set_paint_glyph_func 393*2d1272b8SAndroid Build Coastguard Worker+hb_font_get_synthetic_bold 394*2d1272b8SAndroid Build Coastguard Worker+hb_font_get_var_named_instance 395*2d1272b8SAndroid Build Coastguard Worker+hb_font_paint_glyph 396*2d1272b8SAndroid Build Coastguard Worker+hb_font_paint_glyph_func_t 397*2d1272b8SAndroid Build Coastguard Worker+hb_font_set_synthetic_bold 398*2d1272b8SAndroid Build Coastguard Worker+hb_map_keys 399*2d1272b8SAndroid Build Coastguard Worker+hb_map_next 400*2d1272b8SAndroid Build Coastguard Worker+hb_map_update 401*2d1272b8SAndroid Build Coastguard Worker+hb_map_values 402*2d1272b8SAndroid Build Coastguard Worker+hb_ot_color_glyph_has_paint 403*2d1272b8SAndroid Build Coastguard Worker+hb_ot_color_has_paint 404*2d1272b8SAndroid Build Coastguard Worker+hb_ot_layout_script_select_language2 405*2d1272b8SAndroid Build Coastguard Worker+hb_ot_name_id_predefined_t 406*2d1272b8SAndroid Build Coastguard Worker+hb_paint_color 407*2d1272b8SAndroid Build Coastguard Worker+hb_paint_color_func_t 408*2d1272b8SAndroid Build Coastguard Worker+hb_paint_composite_mode_t 409*2d1272b8SAndroid Build Coastguard Worker+hb_paint_custom_palette_color 410*2d1272b8SAndroid Build Coastguard Worker+hb_paint_custom_palette_color_func_t 411*2d1272b8SAndroid Build Coastguard Worker+hb_paint_extend_t 412*2d1272b8SAndroid Build Coastguard Worker+hb_paint_funcs_create 413*2d1272b8SAndroid Build Coastguard Worker+hb_paint_funcs_destroy 414*2d1272b8SAndroid Build Coastguard Worker+hb_paint_funcs_get_empty 415*2d1272b8SAndroid Build Coastguard Worker+hb_paint_funcs_get_user_data 416*2d1272b8SAndroid Build Coastguard Worker+hb_paint_funcs_is_immutable 417*2d1272b8SAndroid Build Coastguard Worker+hb_paint_funcs_make_immutable 418*2d1272b8SAndroid Build Coastguard Worker+hb_paint_funcs_reference 419*2d1272b8SAndroid Build Coastguard Worker+hb_paint_funcs_set_color_func 420*2d1272b8SAndroid Build Coastguard Worker+hb_paint_funcs_set_custom_palette_color_func 421*2d1272b8SAndroid Build Coastguard Worker+hb_paint_funcs_set_image_func 422*2d1272b8SAndroid Build Coastguard Worker+hb_paint_funcs_set_linear_gradient_func 423*2d1272b8SAndroid Build Coastguard Worker+hb_paint_funcs_set_pop_clip_func 424*2d1272b8SAndroid Build Coastguard Worker+hb_paint_funcs_set_pop_group_func 425*2d1272b8SAndroid Build Coastguard Worker+hb_paint_funcs_set_pop_transform_func 426*2d1272b8SAndroid Build Coastguard Worker+hb_paint_funcs_set_push_clip_glyph_func 427*2d1272b8SAndroid Build Coastguard Worker+hb_paint_funcs_set_push_clip_rectangle_func 428*2d1272b8SAndroid Build Coastguard Worker+hb_paint_funcs_set_push_group_func 429*2d1272b8SAndroid Build Coastguard Worker+hb_paint_funcs_set_push_transform_func 430*2d1272b8SAndroid Build Coastguard Worker+hb_paint_funcs_set_radial_gradient_func 431*2d1272b8SAndroid Build Coastguard Worker+hb_paint_funcs_set_sweep_gradient_func 432*2d1272b8SAndroid Build Coastguard Worker+hb_paint_funcs_set_user_data 433*2d1272b8SAndroid Build Coastguard Worker+hb_paint_funcs_t 434*2d1272b8SAndroid Build Coastguard Worker+hb_paint_image 435*2d1272b8SAndroid Build Coastguard Worker+hb_paint_image_func_t 436*2d1272b8SAndroid Build Coastguard Worker+hb_paint_linear_gradient 437*2d1272b8SAndroid Build Coastguard Worker+hb_paint_linear_gradient_func_t 438*2d1272b8SAndroid Build Coastguard Worker+hb_paint_pop_clip 439*2d1272b8SAndroid Build Coastguard Worker+hb_paint_pop_clip_func_t 440*2d1272b8SAndroid Build Coastguard Worker+hb_paint_pop_group 441*2d1272b8SAndroid Build Coastguard Worker+hb_paint_pop_group_func_t 442*2d1272b8SAndroid Build Coastguard Worker+hb_paint_pop_transform 443*2d1272b8SAndroid Build Coastguard Worker+hb_paint_pop_transform_func_t 444*2d1272b8SAndroid Build Coastguard Worker+hb_paint_push_clip_glyph 445*2d1272b8SAndroid Build Coastguard Worker+hb_paint_push_clip_glyph_func_t 446*2d1272b8SAndroid Build Coastguard Worker+hb_paint_push_clip_rectangle 447*2d1272b8SAndroid Build Coastguard Worker+hb_paint_push_clip_rectangle_func_t 448*2d1272b8SAndroid Build Coastguard Worker+hb_paint_push_group 449*2d1272b8SAndroid Build Coastguard Worker+hb_paint_push_group_func_t 450*2d1272b8SAndroid Build Coastguard Worker+hb_paint_push_transform 451*2d1272b8SAndroid Build Coastguard Worker+hb_paint_push_transform_func_t 452*2d1272b8SAndroid Build Coastguard Worker+hb_paint_radial_gradient 453*2d1272b8SAndroid Build Coastguard Worker+hb_paint_radial_gradient_func_t 454*2d1272b8SAndroid Build Coastguard Worker+hb_paint_sweep_gradient 455*2d1272b8SAndroid Build Coastguard Worker+hb_paint_sweep_gradient_func_t 456*2d1272b8SAndroid Build Coastguard Worker+hb_set_is_inverted 457*2d1272b8SAndroid Build Coastguard Worker+hb_subset_input_keep_everything 458*2d1272b8SAndroid Build Coastguard Worker 459*2d1272b8SAndroid Build Coastguard Worker- Deprecated API: 460*2d1272b8SAndroid Build Coastguard Worker+hb_font_funcs_set_glyph_shape_func 461*2d1272b8SAndroid Build Coastguard Worker+hb_font_get_glyph_shape_func_t 462*2d1272b8SAndroid Build Coastguard Worker+hb_font_get_glyph_shape 463*2d1272b8SAndroid Build Coastguard Worker 464*2d1272b8SAndroid Build Coastguard Worker 465*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 6.0.0 466*2d1272b8SAndroid Build Coastguard WorkerFriday, December 16, 2022 467*2d1272b8SAndroid Build Coastguard Worker==================================== 468*2d1272b8SAndroid Build Coastguard Worker- A new API have been added to pre-process the face and speed up future 469*2d1272b8SAndroid Build Coastguard Worker subsetting operations on that face. Provides up to a 95% reduction in 470*2d1272b8SAndroid Build Coastguard Worker subsetting times when the same face is subset more than once. 471*2d1272b8SAndroid Build Coastguard Worker 472*2d1272b8SAndroid Build Coastguard Worker For more details and benchmarks, see: 473*2d1272b8SAndroid Build Coastguard Worker https://github.com/harfbuzz/harfbuzz/blob/main/docs/subset-preprocessing.md 474*2d1272b8SAndroid Build Coastguard Worker 475*2d1272b8SAndroid Build Coastguard Worker (Garret Rieger, Behdad Esfahbod) 476*2d1272b8SAndroid Build Coastguard Worker 477*2d1272b8SAndroid Build Coastguard Worker- Shaping have been speedup by skipping entire lookups when the buffer contents 478*2d1272b8SAndroid Build Coastguard Worker don't intersect with the lookup. Shows up to a 10% speedup in shaping some 479*2d1272b8SAndroid Build Coastguard Worker fonts. (Behdad Esfahbod) 480*2d1272b8SAndroid Build Coastguard Worker 481*2d1272b8SAndroid Build Coastguard Worker- A new experimental feature, “Variable Composites” (enabled by passing 482*2d1272b8SAndroid Build Coastguard Worker -Dexperimental_api=true to meson), is also featured in this release. 483*2d1272b8SAndroid Build Coastguard Worker This technology enables drastic compression of fonts in the Chinese, 484*2d1272b8SAndroid Build Coastguard Worker Japanese, Korean, and other writing systems, by reusing the OpenType Font 485*2d1272b8SAndroid Build Coastguard Worker Variations technology for encoding “smart components” into the font. 486*2d1272b8SAndroid Build Coastguard Worker 487*2d1272b8SAndroid Build Coastguard Worker The specification for these extensions to the font format can be found in: 488*2d1272b8SAndroid Build Coastguard Worker https://github.com/harfbuzz/boring-expansion-spec/blob/glyf1/glyf1.md 489*2d1272b8SAndroid Build Coastguard Worker 490*2d1272b8SAndroid Build Coastguard Worker A test variable-font with ~7160 Hangul syllables derived from the 491*2d1272b8SAndroid Build Coastguard Worker NotoSerifKR-VF font has been built, with existing OpenType technology, as 492*2d1272b8SAndroid Build Coastguard Worker well as with the new Variable Composites (VarComposites) technology. The 493*2d1272b8SAndroid Build Coastguard Worker VarComposites font is over 90% smaller than the OpenType version of the font! 494*2d1272b8SAndroid Build Coastguard Worker Both fonts can be obtained from the “smarties” repository: 495*2d1272b8SAndroid Build Coastguard Worker https://github.com/behdad/smarties/tree/3.0/fonts/hangul/serif 496*2d1272b8SAndroid Build Coastguard Worker 497*2d1272b8SAndroid Build Coastguard Worker When building HarfBuzz with experimental features enabled, you can test 498*2d1272b8SAndroid Build Coastguard Worker the “smarties” font with a sample character like this: 499*2d1272b8SAndroid Build Coastguard Worker 500*2d1272b8SAndroid Build Coastguard Worker $ hb-view butchered-hangul-serif-smarties-variable.ttf -u AE01 --variations=wght=700 501*2d1272b8SAndroid Build Coastguard Worker 502*2d1272b8SAndroid Build Coastguard Worker (Behdad Esfahbod) 503*2d1272b8SAndroid Build Coastguard Worker 504*2d1272b8SAndroid Build Coastguard Worker- The HarfBuzz subsetter can now drop axes by pinning them to specific values 505*2d1272b8SAndroid Build Coastguard Worker (also referred to as instancing). There are a couple of restrictions 506*2d1272b8SAndroid Build Coastguard Worker currently: 507*2d1272b8SAndroid Build Coastguard Worker 508*2d1272b8SAndroid Build Coastguard Worker - Only works with TrueType (“glyf”) based fonts. “CFF2” fonts are not yet 509*2d1272b8SAndroid Build Coastguard Worker supported. 510*2d1272b8SAndroid Build Coastguard Worker - Only supports the case where all axes in a font are pinned. 511*2d1272b8SAndroid Build Coastguard Worker 512*2d1272b8SAndroid Build Coastguard Worker (Garret Rieger, Qunxin Liu) 513*2d1272b8SAndroid Build Coastguard Worker 514*2d1272b8SAndroid Build Coastguard Worker- Miscellaneous fixes and improvements. 515*2d1272b8SAndroid Build Coastguard Worker 516*2d1272b8SAndroid Build Coastguard Worker (Behdad Esfahbod, Christoph Reiter, David Corbett, Eli Schwartz, Garret 517*2d1272b8SAndroid Build Coastguard Worker Rieger, Joel Auterson, Jordan Petridis, Khaled Hosny, Lorenz Wildberg, 518*2d1272b8SAndroid Build Coastguard Worker Marco Rebhan, Martin Storsjö, Matthias Clasen, Qunxin Liu, Satadru Pramanik) 519*2d1272b8SAndroid Build Coastguard Worker 520*2d1272b8SAndroid Build Coastguard Worker 521*2d1272b8SAndroid Build Coastguard Worker- New API 522*2d1272b8SAndroid Build Coastguard Worker+hb_subset_input_pin_axis_location() 523*2d1272b8SAndroid Build Coastguard Worker+hb_subset_input_pin_axis_to_default() 524*2d1272b8SAndroid Build Coastguard Worker+hb_subset_preprocess() 525*2d1272b8SAndroid Build Coastguard Worker 526*2d1272b8SAndroid Build Coastguard Worker 527*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 5.3.1 528*2d1272b8SAndroid Build Coastguard WorkerWednesday, October 19, 2022 529*2d1272b8SAndroid Build Coastguard Worker==================================== 530*2d1272b8SAndroid Build Coastguard Worker- Subsetter repacker fixes. (Garret Rieger) 531*2d1272b8SAndroid Build Coastguard Worker- Adjust Grapheme clusters for Katakana voiced sound marks. (Behdad Esfahbod) 532*2d1272b8SAndroid Build Coastguard Worker- New “hb-subset” option “--preprocess-face”. (Garret Rieger) 533*2d1272b8SAndroid Build Coastguard Worker 534*2d1272b8SAndroid Build Coastguard Worker 535*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 5.3.0 536*2d1272b8SAndroid Build Coastguard WorkerSaturday, October 8, 2022 537*2d1272b8SAndroid Build Coastguard Worker"Women, Life, Freedom" #MahsaAmini 538*2d1272b8SAndroid Build Coastguard Worker==================================== 539*2d1272b8SAndroid Build Coastguard Worker- Don’t add glyphs from dropped MATH or COLR tables to the subset glyphs. 540*2d1272b8SAndroid Build Coastguard Worker (Khaled Hosny) 541*2d1272b8SAndroid Build Coastguard Worker- Map “rlig” to appropriate AAT feature selectors. (Jonathan Kew) 542*2d1272b8SAndroid Build Coastguard Worker- Update USE data files to latest version. (David Corbett) 543*2d1272b8SAndroid Build Coastguard Worker- Check “CBDT” extents first before outline tables, to help with fonts that 544*2d1272b8SAndroid Build Coastguard Worker also include an empty “glyf” table. (Khaled Hosny) 545*2d1272b8SAndroid Build Coastguard Worker- More work towards variable font instancing in the subsetter. (Qunxin Liu) 546*2d1272b8SAndroid Build Coastguard Worker- Subsetter repacker improvements. (Garret Rieger) 547*2d1272b8SAndroid Build Coastguard Worker- New API: 548*2d1272b8SAndroid Build Coastguard Worker+hb_ot_layout_lookup_get_optical_bound() 549*2d1272b8SAndroid Build Coastguard Worker+hb_face_builder_sort_tables() 550*2d1272b8SAndroid Build Coastguard Worker 551*2d1272b8SAndroid Build Coastguard Worker 552*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 5.2.0 553*2d1272b8SAndroid Build Coastguard WorkerSaturday, September 17, 2022 554*2d1272b8SAndroid Build Coastguard Worker==================================== 555*2d1272b8SAndroid Build Coastguard Worker- Fix regressions in hb-ft font functions for FT_Face’s with transformation 556*2d1272b8SAndroid Build Coastguard Worker matrix. (Behdad Esfahbod) 557*2d1272b8SAndroid Build Coastguard Worker- The experimental hb-repacker API now supports splitting several GPOS subtable 558*2d1272b8SAndroid Build Coastguard Worker types when needed. (Garret Rieger) 559*2d1272b8SAndroid Build Coastguard Worker- The HarfBuzz extensions to OpenType font format are now opt-in behind 560*2d1272b8SAndroid Build Coastguard Worker build-time flags. (Behdad Esfahbod) 561*2d1272b8SAndroid Build Coastguard Worker- The experimental hb-subset variable fonts instantiation API can now 562*2d1272b8SAndroid Build Coastguard Worker instantiate more font tables and arbitrary axis locations. (Qunxin Liu) 563*2d1272b8SAndroid Build Coastguard Worker- Unicode 15 support. (David Corbett) 564*2d1272b8SAndroid Build Coastguard Worker- Various documentation improvements. (Behdad Esfahbod, Matthias Clasen) 565*2d1272b8SAndroid Build Coastguard Worker- The hb-view command line tool now detects WezTerm inline images support. 566*2d1272b8SAndroid Build Coastguard Worker (Wez Furlong) 567*2d1272b8SAndroid Build Coastguard Worker- Fix FreeType and ICU dependency lookup with meson. (Xavier Claessens) 568*2d1272b8SAndroid Build Coastguard Worker 569*2d1272b8SAndroid Build Coastguard Worker- New API: 570*2d1272b8SAndroid Build Coastguard Worker+HB_SCRIPT_KAWI 571*2d1272b8SAndroid Build Coastguard Worker+HB_SCRIPT_NAG_MUNDARI 572*2d1272b8SAndroid Build Coastguard Worker 573*2d1272b8SAndroid Build Coastguard Worker 574*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 5.1.0 575*2d1272b8SAndroid Build Coastguard WorkerSunday, July 31, 2022 576*2d1272b8SAndroid Build Coastguard Worker==================================== 577*2d1272b8SAndroid Build Coastguard Worker- More extensive buffer tracing messages. (Behdad Esfahbod) 578*2d1272b8SAndroid Build Coastguard Worker- Fix hb-ft regression in bitmap fonts rendering. (Behdad Esfahbod) 579*2d1272b8SAndroid Build Coastguard Worker- Support extension promotion of lookups in hb-subset-repacker. (Garret Rieger) 580*2d1272b8SAndroid Build Coastguard Worker- A new HB_GLYPH_FLAG_SAFE_TO_INSERT_TATWEEL for scripts that use elongation 581*2d1272b8SAndroid Build Coastguard Worker (e.g. Arabic) to signify where it is safe to insert tatweel glyph without 582*2d1272b8SAndroid Build Coastguard Worker interrupting shaping. (Behdad Esfahbod) 583*2d1272b8SAndroid Build Coastguard Worker- Add “--safe-to-insert-tatweel” to “hb-shape” tool. (Behdad Esfahbod) 584*2d1272b8SAndroid Build Coastguard Worker 585*2d1272b8SAndroid Build Coastguard Worker- New API 586*2d1272b8SAndroid Build Coastguard Worker+HB_GLYPH_FLAG_SAFE_TO_INSERT_TATWEEL 587*2d1272b8SAndroid Build Coastguard Worker+HB_BUFFER_FLAG_PRODUCE_SAFE_TO_INSERT_TATWEEL 588*2d1272b8SAndroid Build Coastguard Worker 589*2d1272b8SAndroid Build Coastguard Worker 590*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 5.0.1 591*2d1272b8SAndroid Build Coastguard WorkerSaturday, July 23, 2022 592*2d1272b8SAndroid Build Coastguard Worker==================================== 593*2d1272b8SAndroid Build Coastguard Worker- Fix version 2 “avar” table with hb-ft. (Behdad Esfahbod) 594*2d1272b8SAndroid Build Coastguard Worker 595*2d1272b8SAndroid Build Coastguard Worker 596*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 5.0.0 597*2d1272b8SAndroid Build Coastguard WorkerSaturday, July 23, 2022 598*2d1272b8SAndroid Build Coastguard Worker==================================== 599*2d1272b8SAndroid Build Coastguard Worker- Support fonts with more than 65535 glyphs in “GDEF”, “GSUB”, and “GPOS” 600*2d1272b8SAndroid Build Coastguard Worker tables. This is part of https://github.com/be-fonts/boring-expansion-spec to 601*2d1272b8SAndroid Build Coastguard Worker extend OpenType in a backward-compatible way. 602*2d1272b8SAndroid Build Coastguard Worker (Behdad Esfahbod, Garret Rieger) 603*2d1272b8SAndroid Build Coastguard Worker- Complete support for more than 65535 glyphs in “glyf” table that started in 604*2d1272b8SAndroid Build Coastguard Worker 4.0.0 release. Part of boring-expansion-spec. (Behdad Esfahbod) 605*2d1272b8SAndroid Build Coastguard Worker- Support version 2 of “avar” table. Part of boring-expansion-spec. 606*2d1272b8SAndroid Build Coastguard Worker (Behdad Esfahbod) 607*2d1272b8SAndroid Build Coastguard Worker- Fix mark attachment on multiple substitutions in some cases. 608*2d1272b8SAndroid Build Coastguard Worker (Behdad Esfahbod) 609*2d1272b8SAndroid Build Coastguard Worker- Fix application of “calt”, “rclt”, and “ccmp” features to better match 610*2d1272b8SAndroid Build Coastguard Worker Uniscribe behaviour with some Arabic fonts. (Behdad Esfahbod) 611*2d1272b8SAndroid Build Coastguard Worker- Improvement to interaction between multiple cursive attachments. 612*2d1272b8SAndroid Build Coastguard Worker (Behdad Esfahbod) 613*2d1272b8SAndroid Build Coastguard Worker- Improve multiple mark interactions in Hebrew. (Behdad Esfahbod) 614*2d1272b8SAndroid Build Coastguard Worker- Implement language-specific forms in AAT shaping. (Behdad Esfahbod) 615*2d1272b8SAndroid Build Coastguard Worker- Fix variation of “VORG” table. (Behdad Esfahbod) 616*2d1272b8SAndroid Build Coastguard Worker- Support for specific script tags to be retained in the subsetter, and add 617*2d1272b8SAndroid Build Coastguard Worker “--layout-scripts” option to “hb-subset” tool. (Garret Rieger) 618*2d1272b8SAndroid Build Coastguard Worker- Accept space as delimiter for --features/--variations in command line tools. 619*2d1272b8SAndroid Build Coastguard Worker- Improve subsetting of “COLR” table. (Qunxin Liu) 620*2d1272b8SAndroid Build Coastguard Worker- Improved fuzzing coverage for ot-math API. (Frédéric Wang) 621*2d1272b8SAndroid Build Coastguard Worker- Fix “kern” table version 2 (AAT) sanitization on 32-bit systems. 622*2d1272b8SAndroid Build Coastguard Worker (Behdad Esfahbod) 623*2d1272b8SAndroid Build Coastguard Worker- Allow negative glyph advances from “graphite2” shaper. (Stephan Bergmann) 624*2d1272b8SAndroid Build Coastguard Worker- Implement loading (color) bitmap fonts with hb-ft. (Behdad Esfahbod) 625*2d1272b8SAndroid Build Coastguard Worker- Fix regression in hb-ft when changing font size. (Behdad Esfahbod) 626*2d1272b8SAndroid Build Coastguard Worker- Fix build on GCC < 7. (Kleis Auke Wolthuizen) 627*2d1272b8SAndroid Build Coastguard Worker- Dynamically load dwrite.dll on windows if “directwrite” shaper is enabled. 628*2d1272b8SAndroid Build Coastguard Worker (Luca Bacci) 629*2d1272b8SAndroid Build Coastguard Worker- Provide a single-file harfbuzz-subset.cc file for easier alternate building 630*2d1272b8SAndroid Build Coastguard Worker of hb-subset library, similar to harfbuzz.cc. (Khaled Hosny) 631*2d1272b8SAndroid Build Coastguard Worker 632*2d1272b8SAndroid Build Coastguard Worker- New API 633*2d1272b8SAndroid Build Coastguard Worker+HB_SUBSET_SETS_LAYOUT_SCRIPT_TAG 634*2d1272b8SAndroid Build Coastguard Worker+hb_language_matches() 635*2d1272b8SAndroid Build Coastguard Worker 636*2d1272b8SAndroid Build Coastguard Worker 637*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 4.4.1 638*2d1272b8SAndroid Build Coastguard WorkerWednesday, June 29, 2022 639*2d1272b8SAndroid Build Coastguard Worker==================================== 640*2d1272b8SAndroid Build Coastguard Worker- Fix test failure with some compilers. 641*2d1272b8SAndroid Build Coastguard Worker- Fix Telugu and Kannada kerning regression. 642*2d1272b8SAndroid Build Coastguard Worker 643*2d1272b8SAndroid Build Coastguard Worker 644*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 4.4.0 645*2d1272b8SAndroid Build Coastguard WorkerMonday, June 27, 2022 646*2d1272b8SAndroid Build Coastguard Worker==================================== 647*2d1272b8SAndroid Build Coastguard Worker- Caching of variable fonts shaping, in particular when using HarfBuzz’s own 648*2d1272b8SAndroid Build Coastguard Worker font loading functions (ot). Bringing performance of variable shaping in par 649*2d1272b8SAndroid Build Coastguard Worker with non-variable fonts shaping. (Behdad Esfahbod) 650*2d1272b8SAndroid Build Coastguard Worker- Caching of format 2 “Contextual Substitution” and “Chained Contexts 651*2d1272b8SAndroid Build Coastguard Worker Substitution” lookups. Resulting in up to 20% speedup of lookup-heavy fonts 652*2d1272b8SAndroid Build Coastguard Worker like Gulzar or Noto Nastaliq Urdu. (Behdad Esfahbod) 653*2d1272b8SAndroid Build Coastguard Worker- Improved ANSI output from hb-view. (Behdad Esfahbod) 654*2d1272b8SAndroid Build Coastguard Worker- Support for shaping legacy, pre-OpenType Windows 3.1-era, Arabic fonts that 655*2d1272b8SAndroid Build Coastguard Worker relied on a fixed PUA encoding. (Khaled Hosny, Behdad Esfahbod) 656*2d1272b8SAndroid Build Coastguard Worker- Sinhala script is now shaped by the USE shaper instead of “indic” one. 657*2d1272b8SAndroid Build Coastguard Worker (Behdad Esfahbod, David Corbett) 658*2d1272b8SAndroid Build Coastguard Worker- Thai shaper improvements. (David Corbett) 659*2d1272b8SAndroid Build Coastguard Worker- hb-ot-name API supports approximate BCP-47 language matching, for example 660*2d1272b8SAndroid Build Coastguard Worker asking for “en_US” in a font that has only “en” names will return them. 661*2d1272b8SAndroid Build Coastguard Worker (Behdad Esfahbod) 662*2d1272b8SAndroid Build Coastguard Worker- Optimized TrueType glyph shape loading. (Behdad Esfahbod) 663*2d1272b8SAndroid Build Coastguard Worker- Fix subsetting of HarfBuzz faces created via hb_face_create_for_tables(). 664*2d1272b8SAndroid Build Coastguard Worker (Garret Rieger) 665*2d1272b8SAndroid Build Coastguard Worker- Add 32 bit var store support to the subsetter. (Garret Rieger) 666*2d1272b8SAndroid Build Coastguard Worker 667*2d1272b8SAndroid Build Coastguard Worker- New API 668*2d1272b8SAndroid Build Coastguard Worker+HB_BUFFER_FLAG_DEFINED 669*2d1272b8SAndroid Build Coastguard Worker+HB_BUFFER_SERIALIZE_FLAG_DEFINED 670*2d1272b8SAndroid Build Coastguard Worker+hb_font_changed() 671*2d1272b8SAndroid Build Coastguard Worker+hb_font_get_serial() 672*2d1272b8SAndroid Build Coastguard Worker+hb_ft_hb_font_changed() 673*2d1272b8SAndroid Build Coastguard Worker+hb_set_hash() 674*2d1272b8SAndroid Build Coastguard Worker+hb_map_copy() 675*2d1272b8SAndroid Build Coastguard Worker+hb_map_hash() 676*2d1272b8SAndroid Build Coastguard Worker 677*2d1272b8SAndroid Build Coastguard Worker 678*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 4.3.0 679*2d1272b8SAndroid Build Coastguard WorkerFriday, May 20, 2022 680*2d1272b8SAndroid Build Coastguard Worker==================================== 681*2d1272b8SAndroid Build Coastguard Worker- Major speed up in loading and subsetting fonts, especially in 682*2d1272b8SAndroid Build Coastguard Worker handling CFF table. Subsetting some fonts is now 3 times faster. 683*2d1272b8SAndroid Build Coastguard Worker (Behdad Esfahbod, Garret Rieger) 684*2d1272b8SAndroid Build Coastguard Worker- Speed up blending CFF2 table. (Behdad Esfahbod) 685*2d1272b8SAndroid Build Coastguard Worker- Speed up hb_ot_tags_from_language(). (Behdad Esfahbod, David Corbett) 686*2d1272b8SAndroid Build Coastguard Worker- Fix USE classification of U+10A38 to fix multiple marks on single Kharoshthi 687*2d1272b8SAndroid Build Coastguard Worker base. (David Corbett) 688*2d1272b8SAndroid Build Coastguard Worker- Fix parsing of empty CFF Index. (Behdad Esfahbod) 689*2d1272b8SAndroid Build Coastguard Worker- Fix subsetting CPAL table with partial palette overlaps. (Garret Rieger) 690*2d1272b8SAndroid Build Coastguard Worker 691*2d1272b8SAndroid Build Coastguard Worker- New API 692*2d1272b8SAndroid Build Coastguard Worker+hb_map_is_equal() (Behdad Esfahbod) 693*2d1272b8SAndroid Build Coastguard Worker 694*2d1272b8SAndroid Build Coastguard Worker 695*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 4.2.1 696*2d1272b8SAndroid Build Coastguard WorkerSunday, April 24, 2022 697*2d1272b8SAndroid Build Coastguard Worker==================================== 698*2d1272b8SAndroid Build Coastguard Worker- Make sure hb_blob_create_from_file_or_fail() always returns nullptr in case 699*2d1272b8SAndroid Build Coastguard Worker of failure and not empty blob sometimes. (Khaled Hosny) 700*2d1272b8SAndroid Build Coastguard Worker- Add --passthrough-tables option to hb-subset. (Cosimo Lupo) 701*2d1272b8SAndroid Build Coastguard Worker- Reinstate a pause after basic features in Khmer shaper, fixing a regression 702*2d1272b8SAndroid Build Coastguard Worker introduced in previous release. (Behdad Esfahbod) 703*2d1272b8SAndroid Build Coastguard Worker- Better handling of Regional_Indicator when shaped with RTL-native scripts, 704*2d1272b8SAndroid Build Coastguard Worker reverting earlier fix that caused regressions in AAT shaping. (Behdad Esfahbod) 705*2d1272b8SAndroid Build Coastguard Worker 706*2d1272b8SAndroid Build Coastguard Worker 707*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 4.2.0 708*2d1272b8SAndroid Build Coastguard WorkerWednesday, March 30, 2022 709*2d1272b8SAndroid Build Coastguard Worker==================================== 710*2d1272b8SAndroid Build Coastguard Worker- Source code reorganization, splitting large hb-ot-layout files into smaller, 711*2d1272b8SAndroid Build Coastguard Worker per-subtable ones under OT/Layout/*. Code for more tables will follow suit in 712*2d1272b8SAndroid Build Coastguard Worker later releases. (Garret Rieger, Behdad Esfahbod) 713*2d1272b8SAndroid Build Coastguard Worker- Revert Indic shaper change in previous release that broke some fonts and 714*2d1272b8SAndroid Build Coastguard Worker instead make per-syllable restriction of “GSUB” application limited to 715*2d1272b8SAndroid Build Coastguard Worker script-specific Indic features, while applying them and discretionary 716*2d1272b8SAndroid Build Coastguard Worker features in one go. (Behdad Esfahbod) 717*2d1272b8SAndroid Build Coastguard Worker- Fix decoding of private in gvar table. (Behdad Esfahbod) 718*2d1272b8SAndroid Build Coastguard Worker- Fix handling of contextual lookups that delete too many glyphs. (Behdad Esfahbod) 719*2d1272b8SAndroid Build Coastguard Worker- Make “morx” deleted glyphs don’t block “GPOS” application. (Behdad Esfahbod) 720*2d1272b8SAndroid Build Coastguard Worker- Various build fixes. (Chun-wei Fan, Khaled Hosny) 721*2d1272b8SAndroid Build Coastguard Worker 722*2d1272b8SAndroid Build Coastguard Worker- New API 723*2d1272b8SAndroid Build Coastguard Worker+hb_set_next_many() (Andrew John) 724*2d1272b8SAndroid Build Coastguard Worker 725*2d1272b8SAndroid Build Coastguard Worker 726*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 4.1.0 727*2d1272b8SAndroid Build Coastguard WorkerWednesday, March 23, 2022 728*2d1272b8SAndroid Build Coastguard Worker==================================== 729*2d1272b8SAndroid Build Coastguard Worker- Various OSS-Fuzz fixes. (Behdad Esfahbod) 730*2d1272b8SAndroid Build Coastguard Worker- Make fallback vertical-origin match FreeType’s. (Behdad Esfahbod) 731*2d1272b8SAndroid Build Coastguard Worker- Treat visible viramas like dependent vowels in USE shaper. (David Corbett) 732*2d1272b8SAndroid Build Coastguard Worker- Apply presentation forms features and discretionary features in one go in 733*2d1272b8SAndroid Build Coastguard Worker Indic shaper, which seems to match Uniscribe and CoreText behaviour. 734*2d1272b8SAndroid Build Coastguard Worker (Behdad Esfahbod, David Corbett) 735*2d1272b8SAndroid Build Coastguard Worker- Various bug fixes. 736*2d1272b8SAndroid Build Coastguard Worker 737*2d1272b8SAndroid Build Coastguard Worker- New API 738*2d1272b8SAndroid Build Coastguard Worker+hb_set_add_sorted_array() (Andrew John) 739*2d1272b8SAndroid Build Coastguard Worker 740*2d1272b8SAndroid Build Coastguard Worker 741*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 4.0.1 742*2d1272b8SAndroid Build Coastguard WorkerFriday, March 11, 2022 743*2d1272b8SAndroid Build Coastguard Worker==================================== 744*2d1272b8SAndroid Build Coastguard Worker- Update OpenType to AAT mappings for “hist” and “vrtr” features. 745*2d1272b8SAndroid Build Coastguard Worker (Florian Pircher) 746*2d1272b8SAndroid Build Coastguard Worker- Update IANA Language Subtag Registry to 2022-03-02. (David Corbett) 747*2d1272b8SAndroid Build Coastguard Worker- Update USE shaper to allow any non-numeric tail in a symbol cluster, and 748*2d1272b8SAndroid Build Coastguard Worker remove obsolete data overrides. (David Corbett) 749*2d1272b8SAndroid Build Coastguard Worker- Fix handling of baseline variations to return correctly scaled values. 750*2d1272b8SAndroid Build Coastguard Worker (Matthias Clasen) 751*2d1272b8SAndroid Build Coastguard Worker- A new experimental hb_subset_repack_or_fail() to repack an array of objects, 752*2d1272b8SAndroid Build Coastguard Worker eliminating offset overflows. The API is not available unless HarfBuzz is 753*2d1272b8SAndroid Build Coastguard Worker built with experimental APIs enabled. (Qunxin Liu) 754*2d1272b8SAndroid Build Coastguard Worker 755*2d1272b8SAndroid Build Coastguard Worker- New experimental API 756*2d1272b8SAndroid Build Coastguard Worker+hb_link_t 757*2d1272b8SAndroid Build Coastguard Worker+hb_object_t 758*2d1272b8SAndroid Build Coastguard Worker+hb_subset_repack_or_fail() 759*2d1272b8SAndroid Build Coastguard Worker 760*2d1272b8SAndroid Build Coastguard Worker 761*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 4.0.0 762*2d1272b8SAndroid Build Coastguard WorkerTuesday, March 1, 2022 763*2d1272b8SAndroid Build Coastguard Worker==================================== 764*2d1272b8SAndroid Build Coastguard Worker- New public API to create subset plan and gather information on things like 765*2d1272b8SAndroid Build Coastguard Worker glyph mappings in the final subset. The plan can then be passed on to perform 766*2d1272b8SAndroid Build Coastguard Worker the subsetting operation. (Garret Rieger) 767*2d1272b8SAndroid Build Coastguard Worker- Draw API for extracting glyph shapes have been extended and finalized and is 768*2d1272b8SAndroid Build Coastguard Worker no longer an experimental API. The draw API supports glyf, CFF and CFF2 769*2d1272b8SAndroid Build Coastguard Worker glyph outlines tables, and applies variation settings set on the font as well 770*2d1272b8SAndroid Build Coastguard Worker as synthetic slant. The new public API is not backward compatible with the 771*2d1272b8SAndroid Build Coastguard Worker previous, non-public, experimental API. (Behdad Esfahbod) 772*2d1272b8SAndroid Build Coastguard Worker- The hb-view tool will use HarfBuzz draw API to render the glyphs instead of 773*2d1272b8SAndroid Build Coastguard Worker cairo-ft when compiled with Cairo 1.17.5 or newer, setting HB_DRAW 774*2d1272b8SAndroid Build Coastguard Worker environment variable to 1 or 0 will force using or not use the draw API, 775*2d1272b8SAndroid Build Coastguard Worker respectively. (Behdad Esfahbod) 776*2d1272b8SAndroid Build Coastguard Worker- The hb-shape and hb-view tools now default to using HarfBuzz’s own font 777*2d1272b8SAndroid Build Coastguard Worker loading functions (ot) instead of FreeType ones (ft). They also have a new 778*2d1272b8SAndroid Build Coastguard Worker option, --font-slant, to apply synthetic slant to the font. (Behdad Esfahbod) 779*2d1272b8SAndroid Build Coastguard Worker- HarfBuzz now supports more than 65535 (the OpenType limit) glyph shapes and 780*2d1272b8SAndroid Build Coastguard Worker metrics. See https://github.com/be-fonts/boring-expansion-spec/issues/6 and 781*2d1272b8SAndroid Build Coastguard Worker https://github.com/be-fonts/boring-expansion-spec/issues/7 for details. 782*2d1272b8SAndroid Build Coastguard Worker (Behdad Esfahbod) 783*2d1272b8SAndroid Build Coastguard Worker- New API to get the dominant horizontal baseline tag for a given script. 784*2d1272b8SAndroid Build Coastguard Worker (Behdad Esfahbod) 785*2d1272b8SAndroid Build Coastguard Worker- New API to get the baseline positions from the font, and synthesize missing 786*2d1272b8SAndroid Build Coastguard Worker ones. As well as new API to get font metrics and synthesize missing ones. 787*2d1272b8SAndroid Build Coastguard Worker (Matthias Clasen) 788*2d1272b8SAndroid Build Coastguard Worker- Improvements to finding dependencies on Windows when building with Visual 789*2d1272b8SAndroid Build Coastguard Worker Studio. (Chun-wei Fan) 790*2d1272b8SAndroid Build Coastguard Worker- New buffer flag, HB_BUFFER_FLAG_PRODUCE_UNSAFE_TO_CONCAT, that must be set 791*2d1272b8SAndroid Build Coastguard Worker during shaping for HB_GLYPH_FLAG_UNSAFE_TO_CONCAT flag to be reliably 792*2d1272b8SAndroid Build Coastguard Worker produced. This is to limit the performance hit of producing this flag to when 793*2d1272b8SAndroid Build Coastguard Worker it is actually needed. (Behdad Esfahbod) 794*2d1272b8SAndroid Build Coastguard Worker- Documentation improvements. (Matthias Clasen) 795*2d1272b8SAndroid Build Coastguard Worker 796*2d1272b8SAndroid Build Coastguard Worker- New API 797*2d1272b8SAndroid Build Coastguard Worker - General: 798*2d1272b8SAndroid Build Coastguard Worker +HB_BUFFER_FLAG_PRODUCE_UNSAFE_TO_CONCAT 799*2d1272b8SAndroid Build Coastguard Worker +hb_var_num_t 800*2d1272b8SAndroid Build Coastguard Worker 801*2d1272b8SAndroid Build Coastguard Worker - Draw: 802*2d1272b8SAndroid Build Coastguard Worker +hb_draw_funcs_t 803*2d1272b8SAndroid Build Coastguard Worker +hb_draw_funcs_create() 804*2d1272b8SAndroid Build Coastguard Worker +hb_draw_funcs_reference() 805*2d1272b8SAndroid Build Coastguard Worker +hb_draw_funcs_destroy() 806*2d1272b8SAndroid Build Coastguard Worker +hb_draw_funcs_is_immutable() 807*2d1272b8SAndroid Build Coastguard Worker +hb_draw_funcs_make_immutable() 808*2d1272b8SAndroid Build Coastguard Worker +hb_draw_move_to_func_t 809*2d1272b8SAndroid Build Coastguard Worker +hb_draw_funcs_set_move_to_func() 810*2d1272b8SAndroid Build Coastguard Worker +hb_draw_line_to_func_t 811*2d1272b8SAndroid Build Coastguard Worker +hb_draw_funcs_set_line_to_func() 812*2d1272b8SAndroid Build Coastguard Worker +hb_draw_quadratic_to_func_t 813*2d1272b8SAndroid Build Coastguard Worker +hb_draw_funcs_set_quadratic_to_func() 814*2d1272b8SAndroid Build Coastguard Worker +hb_draw_cubic_to_func_t 815*2d1272b8SAndroid Build Coastguard Worker +hb_draw_funcs_set_cubic_to_func() 816*2d1272b8SAndroid Build Coastguard Worker +hb_draw_close_path_func_t 817*2d1272b8SAndroid Build Coastguard Worker +hb_draw_funcs_set_close_path_func() 818*2d1272b8SAndroid Build Coastguard Worker +hb_draw_state_t 819*2d1272b8SAndroid Build Coastguard Worker +HB_DRAW_STATE_DEFAULT 820*2d1272b8SAndroid Build Coastguard Worker +hb_draw_move_to() 821*2d1272b8SAndroid Build Coastguard Worker +hb_draw_line_to() 822*2d1272b8SAndroid Build Coastguard Worker +hb_draw_quadratic_to() 823*2d1272b8SAndroid Build Coastguard Worker +hb_draw_cubic_to() 824*2d1272b8SAndroid Build Coastguard Worker +hb_draw_close_path() 825*2d1272b8SAndroid Build Coastguard Worker +hb_font_get_glyph_shape_func_t 826*2d1272b8SAndroid Build Coastguard Worker +hb_font_funcs_set_glyph_shape_func() 827*2d1272b8SAndroid Build Coastguard Worker +hb_font_get_glyph_shape() 828*2d1272b8SAndroid Build Coastguard Worker 829*2d1272b8SAndroid Build Coastguard Worker - OpenType layout 830*2d1272b8SAndroid Build Coastguard Worker +HB_OT_LAYOUT_BASELINE_TAG_IDEO_FACE_CENTRAL 831*2d1272b8SAndroid Build Coastguard Worker +HB_OT_LAYOUT_BASELINE_TAG_IDEO_EMBOX_CENTRAL 832*2d1272b8SAndroid Build Coastguard Worker +hb_ot_layout_get_horizontal_baseline_tag_for_script() 833*2d1272b8SAndroid Build Coastguard Worker +hb_ot_layout_get_baseline_with_fallback() 834*2d1272b8SAndroid Build Coastguard Worker 835*2d1272b8SAndroid Build Coastguard Worker - Metrics: 836*2d1272b8SAndroid Build Coastguard Worker +hb_ot_metrics_get_position_with_fallback() 837*2d1272b8SAndroid Build Coastguard Worker 838*2d1272b8SAndroid Build Coastguard Worker - Subset: 839*2d1272b8SAndroid Build Coastguard Worker +hb_subset_plan_t 840*2d1272b8SAndroid Build Coastguard Worker +hb_subset_plan_create_or_fail() 841*2d1272b8SAndroid Build Coastguard Worker +hb_subset_plan_reference() 842*2d1272b8SAndroid Build Coastguard Worker +hb_subset_plan_destroy() 843*2d1272b8SAndroid Build Coastguard Worker +hb_subset_plan_set_user_data() 844*2d1272b8SAndroid Build Coastguard Worker +hb_subset_plan_get_user_data() 845*2d1272b8SAndroid Build Coastguard Worker +hb_subset_plan_execute_or_fail() 846*2d1272b8SAndroid Build Coastguard Worker +hb_subset_plan_unicode_to_old_glyph_mapping() 847*2d1272b8SAndroid Build Coastguard Worker +hb_subset_plan_new_to_old_glyph_mapping() 848*2d1272b8SAndroid Build Coastguard Worker +hb_subset_plan_old_to_new_glyph_mapping() 849*2d1272b8SAndroid Build Coastguard Worker 850*2d1272b8SAndroid Build Coastguard Worker 851*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 3.4.0 852*2d1272b8SAndroid Build Coastguard WorkerSunday, February 13, 2022 853*2d1272b8SAndroid Build Coastguard Worker==================================== 854*2d1272b8SAndroid Build Coastguard Worker- Perform sanity checks on shaping results is now part of “harfbuzz” library 855*2d1272b8SAndroid Build Coastguard Worker and can be enabled by setting the buffer flag HB_BUFFER_FLAG_VERIFY. 856*2d1272b8SAndroid Build Coastguard Worker (Behdad Esfahbod) 857*2d1272b8SAndroid Build Coastguard Worker- Arabic Mark Transient Reordering Algorithm have been updated to revision 6. 858*2d1272b8SAndroid Build Coastguard Worker (Khaled Hosny) 859*2d1272b8SAndroid Build Coastguard Worker- ISO 15924 code for mathematical notation, ‘Zmth’, now maps to the OpenType 860*2d1272b8SAndroid Build Coastguard Worker ‘math’ tag. (Alexis King) 861*2d1272b8SAndroid Build Coastguard Worker- It is now possible to get at once all math kerning values for a given glyph 862*2d1272b8SAndroid Build Coastguard Worker at a given corner. (Alexis King) 863*2d1272b8SAndroid Build Coastguard Worker- Fix locale_t portability issues on systems the typedef’s it to a void 864*2d1272b8SAndroid Build Coastguard Worker pointer. (Behdad Esfahbod) 865*2d1272b8SAndroid Build Coastguard Worker 866*2d1272b8SAndroid Build Coastguard Worker- New API: 867*2d1272b8SAndroid Build Coastguard Worker+HB_BUFFER_FLAG_VERIFY 868*2d1272b8SAndroid Build Coastguard Worker+HB_OT_TAG_MATH_SCRIPT 869*2d1272b8SAndroid Build Coastguard Worker+HB_SCRIPT_MATH 870*2d1272b8SAndroid Build Coastguard Worker+hb_ot_math_kern_entry_t 871*2d1272b8SAndroid Build Coastguard Worker+hb_ot_math_get_glyph_kernings() 872*2d1272b8SAndroid Build Coastguard Worker 873*2d1272b8SAndroid Build Coastguard Worker- Deprecated API 874*2d1272b8SAndroid Build Coastguard Worker+HB_OT_MATH_SCRIPT 875*2d1272b8SAndroid Build Coastguard Worker 876*2d1272b8SAndroid Build Coastguard Worker 877*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 3.3.2 878*2d1272b8SAndroid Build Coastguard WorkerSunday, February 6, 2022 879*2d1272b8SAndroid Build Coastguard Worker==================================== 880*2d1272b8SAndroid Build Coastguard Worker- Revert splitting of pair positioning values introduced in 3.3.0 as it proved 881*2d1272b8SAndroid Build Coastguard Worker problematic. (Behdad Esfahbod) 882*2d1272b8SAndroid Build Coastguard Worker 883*2d1272b8SAndroid Build Coastguard Worker 884*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 3.3.1 885*2d1272b8SAndroid Build Coastguard WorkerMonday, January 31, 2022 886*2d1272b8SAndroid Build Coastguard Worker==================================== 887*2d1272b8SAndroid Build Coastguard Worker- Fix heap-use-after-free in harfbuzz-subset introduced in previous release. 888*2d1272b8SAndroid Build Coastguard Worker (Garret Rieger) 889*2d1272b8SAndroid Build Coastguard Worker 890*2d1272b8SAndroid Build Coastguard Worker 891*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 3.3.0 892*2d1272b8SAndroid Build Coastguard WorkerMonday, January 31, 2022 893*2d1272b8SAndroid Build Coastguard Worker==================================== 894*2d1272b8SAndroid Build Coastguard Worker- Improved documentation. (Matthias Clasen) 895*2d1272b8SAndroid Build Coastguard Worker- Internal code cleanup, using C++ standard library more. (Behdad Esfahbod) 896*2d1272b8SAndroid Build Coastguard Worker- The low 16-bits of face index will be used by hb_face_create() to select a 897*2d1272b8SAndroid Build Coastguard Worker face inside a font collection file format, while the high 16-bits will be 898*2d1272b8SAndroid Build Coastguard Worker used by hb_font_create() to load the named instance. (Behdad Esfahbod) 899*2d1272b8SAndroid Build Coastguard Worker- Glyph positions and other font metrics now apply synthetic slant set by 900*2d1272b8SAndroid Build Coastguard Worker hb_font_set_synthetic_slant(), for improved positioning for synthetically 901*2d1272b8SAndroid Build Coastguard Worker slanted fonts. (Behdad Esfahbod) 902*2d1272b8SAndroid Build Coastguard Worker- Fixed unintentional locale dependency in hb_variation_to_string() for decimal 903*2d1272b8SAndroid Build Coastguard Worker point representation. (Matthias Clasen) 904*2d1272b8SAndroid Build Coastguard Worker- When applying pair positioning (kerning) the positioning value is split 905*2d1272b8SAndroid Build Coastguard Worker between the two sides of the pair for improved cursor positioning between 906*2d1272b8SAndroid Build Coastguard Worker such pairs. (Behdad Esfahbod) 907*2d1272b8SAndroid Build Coastguard Worker- Introduced new HB_GLYPH_FLAG_UNSAFE_TO_CONCAT, to be used in conjunction 908*2d1272b8SAndroid Build Coastguard Worker with HB_GLYPH_FLAG_UNSAFE_TO_BREAK for optimizing re-shaping during line 909*2d1272b8SAndroid Build Coastguard Worker breaking. Check the documentation for further details. (Behdad Esfahbod) 910*2d1272b8SAndroid Build Coastguard Worker- Improved handling of macrolanguages when mapping BCP 47 codes to OpenType 911*2d1272b8SAndroid Build Coastguard Worker tags. (David Corbett) 912*2d1272b8SAndroid Build Coastguard Worker 913*2d1272b8SAndroid Build Coastguard Worker- New API: 914*2d1272b8SAndroid Build Coastguard Worker+HB_GLYPH_FLAG_UNSAFE_TO_CONCAT 915*2d1272b8SAndroid Build Coastguard Worker+hb_segment_properties_overlay() 916*2d1272b8SAndroid Build Coastguard Worker+hb_buffer_create_similar() 917*2d1272b8SAndroid Build Coastguard Worker+hb_font_set_synthetic_slant() 918*2d1272b8SAndroid Build Coastguard Worker+hb_font_get_synthetic_slant() 919*2d1272b8SAndroid Build Coastguard Worker+hb_font_get_var_coords_design() 920*2d1272b8SAndroid Build Coastguard Worker 921*2d1272b8SAndroid Build Coastguard Worker 922*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 3.2.0 923*2d1272b8SAndroid Build Coastguard WorkerFriday, November 26, 2021 924*2d1272b8SAndroid Build Coastguard Worker==================================== 925*2d1272b8SAndroid Build Coastguard Worker“harfbuzz” library improvements: 926*2d1272b8SAndroid Build Coastguard Worker- Fixed shaping of Apple Color Emoji flags in right-to-left context. (Behdad Esfahbod) 927*2d1272b8SAndroid Build Coastguard Worker- Fixed positioning of CFF fonts in HB_TINY profile. (Behdad Esfahbod) 928*2d1272b8SAndroid Build Coastguard Worker- OpenType 1.9 language tags update. (David Corbett) 929*2d1272b8SAndroid Build Coastguard Worker- Add HB_NO_VERTICAL config option. 930*2d1272b8SAndroid Build Coastguard Worker- Add HB_CONFIG_OVERRIDE_H for easier configuration. (Behdad Esfahbod) 931*2d1272b8SAndroid Build Coastguard Worker 932*2d1272b8SAndroid Build Coastguard Worker“harfbuzz-subset” library improvements: 933*2d1272b8SAndroid Build Coastguard Worker- Improved packing of cmap, loca, and Ligature tables. (Garret Rieger) 934*2d1272b8SAndroid Build Coastguard Worker- Significantly improved overflow-resolution strategy in the repacker. (Garret Rieger) 935*2d1272b8SAndroid Build Coastguard Worker 936*2d1272b8SAndroid Build Coastguard Worker 937*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 3.1.2 938*2d1272b8SAndroid Build Coastguard WorkerFriday, November 26, 2021 939*2d1272b8SAndroid Build Coastguard Worker==================================== 940*2d1272b8SAndroid Build Coastguard Worker- hb-shape / hb-view: revert treating text on the commandline as single 941*2d1272b8SAndroid Build Coastguard Worker paragraph (was introduced in 3.0.0); add new --single-par to do that. 942*2d1272b8SAndroid Build Coastguard Worker (Behdad Esfahbod) 943*2d1272b8SAndroid Build Coastguard Worker- Subsetter bug fixes. (Garret Rieger, Qunxin Liu, Behdad Esfahbod) 944*2d1272b8SAndroid Build Coastguard Worker 945*2d1272b8SAndroid Build Coastguard Worker 946*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 3.1.1 947*2d1272b8SAndroid Build Coastguard WorkerWednesday, November 8, 2021 948*2d1272b8SAndroid Build Coastguard Worker==================================== 949*2d1272b8SAndroid Build Coastguard Worker- Work around GCC cast-align error/warning on some platforms. (Behdad Esfahbod) 950*2d1272b8SAndroid Build Coastguard Worker- Documentation improvements. (Matthias Clasen) 951*2d1272b8SAndroid Build Coastguard Worker 952*2d1272b8SAndroid Build Coastguard Worker 953*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 3.1.0 954*2d1272b8SAndroid Build Coastguard WorkerWednesday, November 3, 2021 955*2d1272b8SAndroid Build Coastguard Worker==================================== 956*2d1272b8SAndroid Build Coastguard Worker- Better offset-overflow handling in the subsetter library. (Garret Rieger) 957*2d1272b8SAndroid Build Coastguard Worker- Improved Unicode 14 properties in the USE shaper, and various other USE 958*2d1272b8SAndroid Build Coastguard Worker shaper fixes. (David Corbett) 959*2d1272b8SAndroid Build Coastguard Worker- MATH and COLR v1 tables subsetting support, and various other subsetter fixes. 960*2d1272b8SAndroid Build Coastguard Worker (Qunxin Liu) 961*2d1272b8SAndroid Build Coastguard Worker- Support for Pwo Karen / Ason Chin medial la. (Simon Cozens) 962*2d1272b8SAndroid Build Coastguard Worker- Apply GPOS positioning when substituting with morx table, if kerx is missing. 963*2d1272b8SAndroid Build Coastguard Worker (Behdad Esfahbod) 964*2d1272b8SAndroid Build Coastguard Worker- Apply calt and clig features across syllable boundaries in Indic shaper. 965*2d1272b8SAndroid Build Coastguard Worker (Behdad Esfahbod) 966*2d1272b8SAndroid Build Coastguard Worker- meson option for enabling Graphite 2 has been renamed to graphite2. 967*2d1272b8SAndroid Build Coastguard Worker- Build and documentation fixes. 968*2d1272b8SAndroid Build Coastguard Worker 969*2d1272b8SAndroid Build Coastguard Worker- New API: 970*2d1272b8SAndroid Build Coastguard Worker+hb_buffer_set_not_found_glyph() 971*2d1272b8SAndroid Build Coastguard Worker+hb_buffer_get_not_found_glyph() 972*2d1272b8SAndroid Build Coastguard Worker 973*2d1272b8SAndroid Build Coastguard Worker 974*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 3.0.0 975*2d1272b8SAndroid Build Coastguard WorkerFriday, September 17, 2021 976*2d1272b8SAndroid Build Coastguard Worker==================================== 977*2d1272b8SAndroid Build Coastguard Worker- Unicode 14.0 support (David Corbett). 978*2d1272b8SAndroid Build Coastguard Worker- The hb-subset API and the harfbuzz-subset library's ABI are now declared 979*2d1272b8SAndroid Build Coastguard Worker stable. The harfbuzz-subset library would not have been possible without the 980*2d1272b8SAndroid Build Coastguard Worker work of Garret Rieger and Qunxin Liu from Google Fonts, and the earlier work 981*2d1272b8SAndroid Build Coastguard Worker of Michiharu Ariza from Adobe. 982*2d1272b8SAndroid Build Coastguard Worker- The hb-style API is now stable and no longer experimental. 983*2d1272b8SAndroid Build Coastguard Worker 984*2d1272b8SAndroid Build Coastguard Worker- New API: 985*2d1272b8SAndroid Build Coastguard Worker+hb_style_tag_t 986*2d1272b8SAndroid Build Coastguard Worker+hb_style_get_value() 987*2d1272b8SAndroid Build Coastguard Worker+hb_subset_input_t 988*2d1272b8SAndroid Build Coastguard Worker+hb_subset_flags_t 989*2d1272b8SAndroid Build Coastguard Worker+hb_subset_sets_t 990*2d1272b8SAndroid Build Coastguard Worker+hb_subset_input_create_or_fail() 991*2d1272b8SAndroid Build Coastguard Worker+hb_subset_input_reference() 992*2d1272b8SAndroid Build Coastguard Worker+hb_subset_input_destroy() 993*2d1272b8SAndroid Build Coastguard Worker+hb_subset_input_set_user_data() 994*2d1272b8SAndroid Build Coastguard Worker+hb_subset_input_get_user_data() 995*2d1272b8SAndroid Build Coastguard Worker+hb_subset_input_unicode_set() 996*2d1272b8SAndroid Build Coastguard Worker+hb_subset_input_glyph_set() 997*2d1272b8SAndroid Build Coastguard Worker+hb_subset_input_set() 998*2d1272b8SAndroid Build Coastguard Worker+hb_subset_input_get_flags() 999*2d1272b8SAndroid Build Coastguard Worker+hb_subset_input_set_flags() 1000*2d1272b8SAndroid Build Coastguard Worker+hb_subset_or_fail() 1001*2d1272b8SAndroid Build Coastguard Worker 1002*2d1272b8SAndroid Build Coastguard Worker- Removed old unstable harfbuzz-subset API: 1003*2d1272b8SAndroid Build Coastguard Worker-hb_subset_input_nameid_set() 1004*2d1272b8SAndroid Build Coastguard Worker-hb_subset_input_namelangid_set() 1005*2d1272b8SAndroid Build Coastguard Worker-hb_subset_input_layout_features_set() 1006*2d1272b8SAndroid Build Coastguard Worker-hb_subset_input_no_subset_tables_set() 1007*2d1272b8SAndroid Build Coastguard Worker-hb_subset_input_drop_tables_set() 1008*2d1272b8SAndroid Build Coastguard Worker-hb_subset_input_set_drop_hints() 1009*2d1272b8SAndroid Build Coastguard Worker-hb_subset_input_get_drop_hints() 1010*2d1272b8SAndroid Build Coastguard Worker-hb_subset_input_set_desubroutinize() 1011*2d1272b8SAndroid Build Coastguard Worker-hb_subset_input_get_desubroutinize() 1012*2d1272b8SAndroid Build Coastguard Worker-hb_subset_input_set_retain_gids() 1013*2d1272b8SAndroid Build Coastguard Worker-hb_subset_input_get_retain_gids() 1014*2d1272b8SAndroid Build Coastguard Worker-hb_subset_input_set_name_legacy() 1015*2d1272b8SAndroid Build Coastguard Worker-hb_subset_input_get_name_legacy() 1016*2d1272b8SAndroid Build Coastguard Worker-hb_subset_input_set_overlaps_flag() 1017*2d1272b8SAndroid Build Coastguard Worker-hb_subset_input_get_overlaps_flag() 1018*2d1272b8SAndroid Build Coastguard Worker-hb_subset_input_set_notdef_outline() 1019*2d1272b8SAndroid Build Coastguard Worker-hb_subset_input_get_notdef_outline() 1020*2d1272b8SAndroid Build Coastguard Worker-hb_subset_input_set_no_prune_unicode_ranges() 1021*2d1272b8SAndroid Build Coastguard Worker-hb_subset_input_get_no_prune_unicode_ranges() 1022*2d1272b8SAndroid Build Coastguard Worker-hb_subset() 1023*2d1272b8SAndroid Build Coastguard Worker 1024*2d1272b8SAndroid Build Coastguard Worker 1025*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 2.9.1 1026*2d1272b8SAndroid Build Coastguard WorkerTuesday, September 7, 2021 1027*2d1272b8SAndroid Build Coastguard Worker==================================== 1028*2d1272b8SAndroid Build Coastguard Worker- Final subset API is in place and if no issues are discovered, it will be the 1029*2d1272b8SAndroid Build Coastguard Worker stable subset API of HarfBuzz 3.0.0. Old API is kept to ease transition, but 1030*2d1272b8SAndroid Build Coastguard Worker will be removed in 3.0.0. 1031*2d1272b8SAndroid Build Coastguard Worker- Various fuzzer-found bug fixes. 1032*2d1272b8SAndroid Build Coastguard Worker- hb_buffer_append() now handles the pre- and post-context which previously 1033*2d1272b8SAndroid Build Coastguard Worker were left unchanged in the destination buffer. 1034*2d1272b8SAndroid Build Coastguard Worker- hb-view / hb-shape now accept following new arguments: 1035*2d1272b8SAndroid Build Coastguard Worker o --unicodes-before/after: takes a list of hex numbers that represent Unicode 1036*2d1272b8SAndroid Build Coastguard Worker codepoints. 1037*2d1272b8SAndroid Build Coastguard Worker- Undeprecated API: 1038*2d1272b8SAndroid Build Coastguard Worker hb_set_invert() 1039*2d1272b8SAndroid Build Coastguard Worker 1040*2d1272b8SAndroid Build Coastguard Worker 1041*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 2.9.0 1042*2d1272b8SAndroid Build Coastguard WorkerWednesday, August 18, 2021 1043*2d1272b8SAndroid Build Coastguard WorkerHistory Repeats Itself (Afghanistan) 1044*2d1272b8SAndroid Build Coastguard Worker==================================== 1045*2d1272b8SAndroid Build Coastguard Worker- Subsetter API is being stabilized, with the first stable API to happen in 1046*2d1272b8SAndroid Build Coastguard Worker 3.0.0 release (https://github.com/harfbuzz/harfbuzz/issues/3078). 1047*2d1272b8SAndroid Build Coastguard Worker- Support multiple variation axes with same tag, aka HOI. 1048*2d1272b8SAndroid Build Coastguard Worker- The “coretext” testing shaper now passes font variations to CoreText. 1049*2d1272b8SAndroid Build Coastguard Worker- hb-shape/hb-view does not break line at new lines unless text is read from 1050*2d1272b8SAndroid Build Coastguard Worker file. 1051*2d1272b8SAndroid Build Coastguard Worker- hb-view and hb-subset has a --batch now, similar to hb-shape. 1052*2d1272b8SAndroid Build Coastguard Worker- The --batch mode now uses ; as argument separator instead of : used previously. 1053*2d1272b8SAndroid Build Coastguard Worker- The --batch in hb-shape does not expect 0th argument anymore. That is, the 1054*2d1272b8SAndroid Build Coastguard Worker lines read are interpreted as argv[1:], instead of argv[0:]. 1055*2d1272b8SAndroid Build Coastguard Worker- The --batch option has been undocumented. We are ready to document it; send 1056*2d1272b8SAndroid Build Coastguard Worker feedback if you find it useful. 1057*2d1272b8SAndroid Build Coastguard Worker- hb-subset got arguments revamps. Added much-requested --gids-file, --glyphs, 1058*2d1272b8SAndroid Build Coastguard Worker --glyphs-file, --unicodes-file, supporting ranges in --unicodes. 1059*2d1272b8SAndroid Build Coastguard Worker- Various bug fixes. 1060*2d1272b8SAndroid Build Coastguard Worker 1061*2d1272b8SAndroid Build Coastguard Worker 1062*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 2.8.2 1063*2d1272b8SAndroid Build Coastguard WorkerTuesday, July 8, 2021 1064*2d1272b8SAndroid Build Coastguard Worker==================================== 1065*2d1272b8SAndroid Build Coastguard Worker- Shaping LTR digits for RTL scripts now makes the native direction of the 1066*2d1272b8SAndroid Build Coastguard Worker digits LTR, applying shaping and positioning rules on the same glyph order as 1067*2d1272b8SAndroid Build Coastguard Worker Uniscribe. (Jonathan Kew, Khaled Hosny). 1068*2d1272b8SAndroid Build Coastguard Worker- Subsetting COLR v1 and CPAL tables is now supported. (Garret Rieger, Qunxin Liu) 1069*2d1272b8SAndroid Build Coastguard Worker- Various fixes and improvements to the subsetter. (Garret Rieger, Qunxin Liu, Behdad) 1070*2d1272b8SAndroid Build Coastguard Worker- When applying morx table, mark glyph widths should not be zeroed. (Jonathan Kew) 1071*2d1272b8SAndroid Build Coastguard Worker- GPOS is preferred over kerx, if GSUB was applied. (Behdad) 1072*2d1272b8SAndroid Build Coastguard Worker- Regional_Indicator pairs are grouped together when clustering. (Behdad) 1073*2d1272b8SAndroid Build Coastguard Worker- New API: 1074*2d1272b8SAndroid Build Coastguard Worker+hb_blob_create_or_fail() 1075*2d1272b8SAndroid Build Coastguard Worker+hb_blob_create_from_file_or_fail() 1076*2d1272b8SAndroid Build Coastguard Worker+hb_set_copy() 1077*2d1272b8SAndroid Build Coastguard Worker 1078*2d1272b8SAndroid Build Coastguard Worker 1079*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 2.8.1 1080*2d1272b8SAndroid Build Coastguard WorkerTuesday, May 4, 2021 1081*2d1272b8SAndroid Build Coastguard Worker==================================== 1082*2d1272b8SAndroid Build Coastguard Worker- Subsetter now fully supports GSUB/GPOS/GDEF tables (including variations); as 1083*2d1272b8SAndroid Build Coastguard Worker such, layout tables are retained by subsetter by default. (Garret Rieger, Qunxin Liu) 1084*2d1272b8SAndroid Build Coastguard Worker- Build scripts no longer check for FontConfig as HarfBuzz does not use it. 1085*2d1272b8SAndroid Build Coastguard Worker- hb-view supports iTerm2 and kitty inline image protocols (Khaled Hosny), 1086*2d1272b8SAndroid Build Coastguard Worker it can also use Chafa for terminal graphics if available (Hans Petter Jansson). 1087*2d1272b8SAndroid Build Coastguard Worker 1088*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 2.8.0 1089*2d1272b8SAndroid Build Coastguard WorkerTuesday, March 16, 2021 1090*2d1272b8SAndroid Build Coastguard Worker==================================== 1091*2d1272b8SAndroid Build Coastguard Worker- Shape joining scripts other than Arabic/Syriac using the Universal Shaping Engine. 1092*2d1272b8SAndroid Build Coastguard Worker Previously these were shaped using the generalized Arabic shaper. (David Corbett) 1093*2d1272b8SAndroid Build Coastguard Worker- Fix regression in shaping of U+0B55 ORIYA SIGN OVERLINE. (David Corbett) 1094*2d1272b8SAndroid Build Coastguard Worker- Update language tags. (David Corbett) 1095*2d1272b8SAndroid Build Coastguard Worker- Variations: reduce error: do not round each interpolated delta. (Just van Rossum) 1096*2d1272b8SAndroid Build Coastguard Worker- Documentation improvements. (Khaled Hosny, Nathan Willis) 1097*2d1272b8SAndroid Build Coastguard Worker- Subsetter improvements: subsets most, if not all, lookup types now. (Garret Rieger, Qunxin Liu) 1098*2d1272b8SAndroid Build Coastguard Worker- Fuzzer-found fixes and other improvements when memory failures happen. (Behdad) 1099*2d1272b8SAndroid Build Coastguard Worker- Removed most atomic implementations now that we have C++11 atomic impl. (Behdad) 1100*2d1272b8SAndroid Build Coastguard Worker- General codebase upkeep; using more C++11 features: constexpr constructors, etc. (Behdad) 1101*2d1272b8SAndroid Build Coastguard Worker 1102*2d1272b8SAndroid Build Coastguard Worker 1103*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 2.7.4 1104*2d1272b8SAndroid Build Coastguard WorkerSunday, December 27, 2020 1105*2d1272b8SAndroid Build Coastguard Worker==================================== 1106*2d1272b8SAndroid Build Coastguard Worker- Fix missing --enable-introspection configure option from previous release 1107*2d1272b8SAndroid Build Coastguard Worker tarball. 1108*2d1272b8SAndroid Build Coastguard Worker- Documentation updates. 1109*2d1272b8SAndroid Build Coastguard Worker 1110*2d1272b8SAndroid Build Coastguard Worker 1111*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 2.7.3 1112*2d1272b8SAndroid Build Coastguard WorkerWednesday, December 23, 2020 1113*2d1272b8SAndroid Build Coastguard Worker==================================== 1114*2d1272b8SAndroid Build Coastguard Worker- Update USE shaper to 2020-08-13 specification, and other improvements. 1115*2d1272b8SAndroid Build Coastguard Worker- Don’t disable liga feature in myanmar shaper, to match Uniscribe. 1116*2d1272b8SAndroid Build Coastguard Worker- Improvements to language and script tags handling. 1117*2d1272b8SAndroid Build Coastguard Worker- Update language system tag registry to OpenType 1.8.4 1118*2d1272b8SAndroid Build Coastguard Worker- Support for serializing and deserializing Unicode buffers. Serialized buffers 1119*2d1272b8SAndroid Build Coastguard Worker are now delimited with `<>` or `[]` based on whether it is a Unicode or 1120*2d1272b8SAndroid Build Coastguard Worker glyphs buffer. 1121*2d1272b8SAndroid Build Coastguard Worker- Increase buffer work limits to handle fonts with many complex lookups. 1122*2d1272b8SAndroid Build Coastguard Worker- Handle more shaping operations in trace output. 1123*2d1272b8SAndroid Build Coastguard Worker- Memory access fixes. 1124*2d1272b8SAndroid Build Coastguard Worker- More OOM fixes. 1125*2d1272b8SAndroid Build Coastguard Worker- Improved documentation. 1126*2d1272b8SAndroid Build Coastguard Worker- Build system improvements. 1127*2d1272b8SAndroid Build Coastguard Worker- New API: 1128*2d1272b8SAndroid Build Coastguard Worker+hb_buffer_has_positions() 1129*2d1272b8SAndroid Build Coastguard Worker+hb_buffer_serialize() 1130*2d1272b8SAndroid Build Coastguard Worker+hb_buffer_serialize_unicode() 1131*2d1272b8SAndroid Build Coastguard Worker+hb_buffer_deserialize_unicode() 1132*2d1272b8SAndroid Build Coastguard Worker 1133*2d1272b8SAndroid Build Coastguard Worker 1134*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 2.7.2 1135*2d1272b8SAndroid Build Coastguard WorkerSaturday, August 29, 2020 1136*2d1272b8SAndroid Build Coastguard Worker==================================== 1137*2d1272b8SAndroid Build Coastguard Worker- Fix a regression in the previous release that caused a crash with Kaithi. 1138*2d1272b8SAndroid Build Coastguard Worker- More OOM fixes. 1139*2d1272b8SAndroid Build Coastguard Worker 1140*2d1272b8SAndroid Build Coastguard Worker 1141*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 2.7.1 1142*2d1272b8SAndroid Build Coastguard WorkerThursday, August 13, 2020 1143*2d1272b8SAndroid Build Coastguard Worker==================================== 1144*2d1272b8SAndroid Build Coastguard Worker- ot-funcs now handles variable empty glyphs better when hvar/vvar isn't present. 1145*2d1272b8SAndroid Build Coastguard Worker- Reverted a GDEF processing regression. 1146*2d1272b8SAndroid Build Coastguard Worker- A couple of fixes to handle OOM better. 1147*2d1272b8SAndroid Build Coastguard Worker 1148*2d1272b8SAndroid Build Coastguard Worker 1149*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 2.7.0 1150*2d1272b8SAndroid Build Coastguard WorkerSaturday, July 25, 2020 1151*2d1272b8SAndroid Build Coastguard Worker==================================== 1152*2d1272b8SAndroid Build Coastguard Worker- Use an implementation for round that always rounds up, some minor fluctuations 1153*2d1272b8SAndroid Build Coastguard Worker are expected on var font specially when hb-ot callback is used. 1154*2d1272b8SAndroid Build Coastguard Worker- Fix an AAT's `kerx` issue on broken rendering of Devanagari Sangam MN. 1155*2d1272b8SAndroid Build Coastguard Worker- Remove AAT's `lcar` table support from _get_ligature_carets API, not even much 1156*2d1272b8SAndroid Build Coastguard Worker use on macOS installed fonts (only two files). GDEF support is the recommended 1157*2d1272b8SAndroid Build Coastguard Worker one and expected to work properly after issues fixed two releases ago. 1158*2d1272b8SAndroid Build Coastguard Worker- Minor memory fixes to handle OOM better specially in hb-ft. 1159*2d1272b8SAndroid Build Coastguard Worker- Minor .so files versioning scheme change and remove stable/unstable scheme 1160*2d1272b8SAndroid Build Coastguard Worker differences, was never used in practice (always default to stable scheme). 1161*2d1272b8SAndroid Build Coastguard Worker- We are now suggesting careful packaging of the library using meson, 1162*2d1272b8SAndroid Build Coastguard Worker https://github.com/harfbuzz/harfbuzz/wiki/Notes-on-migration-to-meson 1163*2d1272b8SAndroid Build Coastguard Worker for more information. 1164*2d1272b8SAndroid Build Coastguard Worker- Distribution package URL is changed, either use GitHub generated tarballs, 1165*2d1272b8SAndroid Build Coastguard Worker `https://github.com/harfbuzz/harfbuzz/archive/$pkgver.tar.gz` 1166*2d1272b8SAndroid Build Coastguard Worker or, even more preferably use commit hash of the release and git checkouts like, 1167*2d1272b8SAndroid Build Coastguard Worker `git+https://github.com/harfbuzz/harfbuzz#commit=$commit` 1168*2d1272b8SAndroid Build Coastguard Worker 1169*2d1272b8SAndroid Build Coastguard Worker 1170*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 2.6.8 1171*2d1272b8SAndroid Build Coastguard WorkerMonday, June 22, 2020 1172*2d1272b8SAndroid Build Coastguard Worker==================================== 1173*2d1272b8SAndroid Build Coastguard Worker- New API to fetch glyph alternates from GSUB table. 1174*2d1272b8SAndroid Build Coastguard Worker- hb-coretext build fix for macOS < 10.10. 1175*2d1272b8SAndroid Build Coastguard Worker- Meson build fixes, cmake port removal is postponed but please prepare for 1176*2d1272b8SAndroid Build Coastguard Worker it and give us feedback. 1177*2d1272b8SAndroid Build Coastguard Worker Autotools is still our main build system however please consider 1178*2d1272b8SAndroid Build Coastguard Worker experimenting with meson also for packaging the library. 1179*2d1272b8SAndroid Build Coastguard Worker- New API: 1180*2d1272b8SAndroid Build Coastguard Worker+hb_ot_layout_lookup_get_glyph_alternates() 1181*2d1272b8SAndroid Build Coastguard Worker 1182*2d1272b8SAndroid Build Coastguard Worker 1183*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 2.6.7 1184*2d1272b8SAndroid Build Coastguard WorkerWednesday, June 3, 2020 1185*2d1272b8SAndroid Build Coastguard Worker==================================== 1186*2d1272b8SAndroid Build Coastguard Worker- Update to Unicode 13.0.0. 1187*2d1272b8SAndroid Build Coastguard Worker- Fix hb_ot_layout_get_ligature_carets for fonts without lcar table, it was 1188*2d1272b8SAndroid Build Coastguard Worker completely broken for all the other fonts since 2.1.2. 1189*2d1272b8SAndroid Build Coastguard Worker- As a part of our migration to meson, this release will be the last one 1190*2d1272b8SAndroid Build Coastguard Worker to provide cmake port files but autotools still is our main build system. 1191*2d1272b8SAndroid Build Coastguard Worker There is a possibility that the next version or the after be released 1192*2d1272b8SAndroid Build Coastguard Worker using meson. 1193*2d1272b8SAndroid Build Coastguard Worker 1194*2d1272b8SAndroid Build Coastguard Worker 1195*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 2.6.6 1196*2d1272b8SAndroid Build Coastguard WorkerTuesday, May 12, 2020 1197*2d1272b8SAndroid Build Coastguard Worker==================================== 1198*2d1272b8SAndroid Build Coastguard Worker- A fix in AAT kerning for Geeza Pro. 1199*2d1272b8SAndroid Build Coastguard Worker- Better support for resource fork fonts on macOS. 1200*2d1272b8SAndroid Build Coastguard Worker 1201*2d1272b8SAndroid Build Coastguard Worker 1202*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 2.6.5 1203*2d1272b8SAndroid Build Coastguard WorkerFriday, April 17, 2020 1204*2d1272b8SAndroid Build Coastguard Worker==================================== 1205*2d1272b8SAndroid Build Coastguard Worker- Add experimental meson build system. Autotools is still the primary 1206*2d1272b8SAndroid Build Coastguard Worker and supported build system. 1207*2d1272b8SAndroid Build Coastguard Worker- AAT is now always preferred for horizontal scripts when both AAT and OT 1208*2d1272b8SAndroid Build Coastguard Worker layout tables exist at the same time. 1209*2d1272b8SAndroid Build Coastguard Worker- Subsetter improvements. 1210*2d1272b8SAndroid Build Coastguard Worker- New API: 1211*2d1272b8SAndroid Build Coastguard Worker+hb_ft_font_lock_face() 1212*2d1272b8SAndroid Build Coastguard Worker+hb_ft_font_unlock_face() 1213*2d1272b8SAndroid Build Coastguard Worker 1214*2d1272b8SAndroid Build Coastguard Worker 1215*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 2.6.4 1216*2d1272b8SAndroid Build Coastguard WorkerMonday, October 29, 2019 1217*2d1272b8SAndroid Build Coastguard Worker==================================== 1218*2d1272b8SAndroid Build Coastguard Worker- Small bug fix. 1219*2d1272b8SAndroid Build Coastguard Worker- Build fixes. 1220*2d1272b8SAndroid Build Coastguard Worker 1221*2d1272b8SAndroid Build Coastguard Worker 1222*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 2.6.3 1223*2d1272b8SAndroid Build Coastguard WorkerMonday, October 28, 2019 1224*2d1272b8SAndroid Build Coastguard Worker==================================== 1225*2d1272b8SAndroid Build Coastguard Worker- Misc small fixes, mostly to build-related issues. 1226*2d1272b8SAndroid Build Coastguard Worker- New API: 1227*2d1272b8SAndroid Build Coastguard Worker+hb_font_get_nominal_glyphs() 1228*2d1272b8SAndroid Build Coastguard Worker 1229*2d1272b8SAndroid Build Coastguard Worker 1230*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 2.6.2 1231*2d1272b8SAndroid Build Coastguard WorkerMonday, September 30, 2019 1232*2d1272b8SAndroid Build Coastguard Worker==================================== 1233*2d1272b8SAndroid Build Coastguard Worker- Misc small fixes, mostly to build-related issues. 1234*2d1272b8SAndroid Build Coastguard Worker 1235*2d1272b8SAndroid Build Coastguard Worker 1236*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 2.6.1 1237*2d1272b8SAndroid Build Coastguard WorkerThursday, August 22, 2019 1238*2d1272b8SAndroid Build Coastguard Worker==================================== 1239*2d1272b8SAndroid Build Coastguard Worker- Fix regression with hb_font_create_sub_font scaling introduced in 2.6.0. 1240*2d1272b8SAndroid Build Coastguard Worker- Change interpretation of font PTEM size / CoreText font size handling. 1241*2d1272b8SAndroid Build Coastguard Worker See https://github.com/harfbuzz/harfbuzz/pull/1484 1242*2d1272b8SAndroid Build Coastguard Worker- hb-ot-font: Prefer symbol cmap subtable if present. 1243*2d1272b8SAndroid Build Coastguard Worker- Apply 'dist'/'abvm'/'blwm' features to all scripts. 1244*2d1272b8SAndroid Build Coastguard Worker- Drop experimental DirectWrite API. 1245*2d1272b8SAndroid Build Coastguard Worker 1246*2d1272b8SAndroid Build Coastguard Worker 1247*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 2.6.0 1248*2d1272b8SAndroid Build Coastguard WorkerTuesday, August 13, 2019 1249*2d1272b8SAndroid Build Coastguard Worker==================================== 1250*2d1272b8SAndroid Build Coastguard Worker- New OpenType metrics, baseline, and metadata table access APIs. 1251*2d1272b8SAndroid Build Coastguard Worker- New API to set font variations to a named-instance. 1252*2d1272b8SAndroid Build Coastguard Worker- New hb-gdi.h header and API for creating hb_face_t from HFONT. 1253*2d1272b8SAndroid Build Coastguard Worker- Amalgam: Provide a single-file harfbuzz.cc file for easier alternate building. 1254*2d1272b8SAndroid Build Coastguard Worker- More size-reduction configurable options, enabled by HB_TINY. 1255*2d1272b8SAndroid Build Coastguard Worker- New API: 1256*2d1272b8SAndroid Build Coastguard Worker+hb_font_set_var_named_instance() 1257*2d1272b8SAndroid Build Coastguard Worker+hb_gdi_face_create() 1258*2d1272b8SAndroid Build Coastguard Worker+hb_ot_layout_baseline_tag_t 1259*2d1272b8SAndroid Build Coastguard Worker+hb_ot_layout_get_baseline() 1260*2d1272b8SAndroid Build Coastguard Worker+hb_ot_meta_tag_t 1261*2d1272b8SAndroid Build Coastguard Worker+hb_ot_meta_get_entry_tags() 1262*2d1272b8SAndroid Build Coastguard Worker+hb_ot_meta_reference_entry() 1263*2d1272b8SAndroid Build Coastguard Worker+hb_ot_metrics_tag_t 1264*2d1272b8SAndroid Build Coastguard Worker+hb_ot_metrics_get_position() 1265*2d1272b8SAndroid Build Coastguard Worker+hb_ot_metrics_get_variation() 1266*2d1272b8SAndroid Build Coastguard Worker+hb_ot_metrics_get_x_variation() 1267*2d1272b8SAndroid Build Coastguard Worker+hb_ot_metrics_get_y_variation() 1268*2d1272b8SAndroid Build Coastguard Worker 1269*2d1272b8SAndroid Build Coastguard Worker 1270*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 2.5.3 1271*2d1272b8SAndroid Build Coastguard WorkerWednesday, June 26, 2019 1272*2d1272b8SAndroid Build Coastguard Worker==================================== 1273*2d1272b8SAndroid Build Coastguard Worker- Fix UCD script data for Unicode 10+ scripts. This was broken since 2.5.0. 1274*2d1272b8SAndroid Build Coastguard Worker- More optimizations for HB_TINY. 1275*2d1272b8SAndroid Build Coastguard Worker 1276*2d1272b8SAndroid Build Coastguard Worker 1277*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 2.5.2 1278*2d1272b8SAndroid Build Coastguard WorkerThursday, June 20, 2019 1279*2d1272b8SAndroid Build Coastguard Worker==================================== 1280*2d1272b8SAndroid Build Coastguard Worker- More hb-config.hh facilities to shrink library size, namely when built as 1281*2d1272b8SAndroid Build Coastguard Worker HB_TINY. 1282*2d1272b8SAndroid Build Coastguard Worker- New documentation of custom configurations in CONFIG.md. 1283*2d1272b8SAndroid Build Coastguard Worker- Fix build on gcc 4.8. That's supported again. 1284*2d1272b8SAndroid Build Coastguard Worker- Universal Shaping Engine improvements thanks to David Corbett. 1285*2d1272b8SAndroid Build Coastguard Worker- API Changes: Undeprecate some horizontal-kerning API and re-enable in hb-ft, 1286*2d1272b8SAndroid Build Coastguard Worker such that Type1 fonts will continue kerning. 1287*2d1272b8SAndroid Build Coastguard Worker 1288*2d1272b8SAndroid Build Coastguard Worker 1289*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 2.5.1 1290*2d1272b8SAndroid Build Coastguard WorkerFriday, May 31, 2019 1291*2d1272b8SAndroid Build Coastguard Worker==================================== 1292*2d1272b8SAndroid Build Coastguard Worker- Fix build with various versions of Visual Studio. 1293*2d1272b8SAndroid Build Coastguard Worker- Improved documentation, thanks to Nathan Willis. 1294*2d1272b8SAndroid Build Coastguard Worker- Bugfix in subsetting glyf table. 1295*2d1272b8SAndroid Build Coastguard Worker- Improved scripts for cross-compiling for Windows using mingw. 1296*2d1272b8SAndroid Build Coastguard Worker- Rename HB_MATH_GLYPH_PART_FLAG_EXTENDER to HB_OT_MATH_GLYPH_PART_FLAG_EXTENDER. 1297*2d1272b8SAndroid Build Coastguard Worker A deprecated macro is added for backwards-compatibility. 1298*2d1272b8SAndroid Build Coastguard Worker 1299*2d1272b8SAndroid Build Coastguard Worker 1300*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 2.5.0 1301*2d1272b8SAndroid Build Coastguard WorkerFriday, May 24, 2019 1302*2d1272b8SAndroid Build Coastguard Worker==================================== 1303*2d1272b8SAndroid Build Coastguard Worker- This release does not include much functional changes, but includes major internal 1304*2d1272b8SAndroid Build Coastguard Worker code-base changes. We now require C++11. Support for gcc 4.8 and earlier has been 1305*2d1272b8SAndroid Build Coastguard Worker dropped. 1306*2d1272b8SAndroid Build Coastguard Worker- New hb-config.hh facility for compiling smaller library for embedded and web usecases. 1307*2d1272b8SAndroid Build Coastguard Worker- New Unicode Character Database implementation that is half the size of previously-used 1308*2d1272b8SAndroid Build Coastguard Worker UCDN. 1309*2d1272b8SAndroid Build Coastguard Worker- Subsetter improvements. 1310*2d1272b8SAndroid Build Coastguard Worker- Improved documentation, thanks to Nathan Willis. 1311*2d1272b8SAndroid Build Coastguard Worker- Misc shaping fixes. 1312*2d1272b8SAndroid Build Coastguard Worker 1313*2d1272b8SAndroid Build Coastguard Worker 1314*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 2.4.0 1315*2d1272b8SAndroid Build Coastguard WorkerMonday, March 25, 2019 1316*2d1272b8SAndroid Build Coastguard Worker==================================== 1317*2d1272b8SAndroid Build Coastguard Worker- Unicode 12. 1318*2d1272b8SAndroid Build Coastguard Worker- Misc fixes. 1319*2d1272b8SAndroid Build Coastguard Worker- Subsetter improvements. 1320*2d1272b8SAndroid Build Coastguard Worker- New API: 1321*2d1272b8SAndroid Build Coastguard WorkerHB_BUFFER_FLAG_DO_NOT_INSERT_DOTTED_CIRCLE 1322*2d1272b8SAndroid Build Coastguard Workerhb_directwrite_face_create() 1323*2d1272b8SAndroid Build Coastguard Worker 1324*2d1272b8SAndroid Build Coastguard Worker 1325*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 2.3.1 1326*2d1272b8SAndroid Build Coastguard WorkerWednesday, January 30, 2019 1327*2d1272b8SAndroid Build Coastguard Worker==================================== 1328*2d1272b8SAndroid Build Coastguard Worker- AAT bug fixes. 1329*2d1272b8SAndroid Build Coastguard Worker- Misc internal housekeeping cleanup. 1330*2d1272b8SAndroid Build Coastguard Worker 1331*2d1272b8SAndroid Build Coastguard Worker 1332*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 2.3.0 1333*2d1272b8SAndroid Build Coastguard WorkerThursday, December 20, 2018 1334*2d1272b8SAndroid Build Coastguard Worker==================================== 1335*2d1272b8SAndroid Build Coastguard Worker- Fix regression on big-endian architectures. Ouch! 1336*2d1272b8SAndroid Build Coastguard Worker- Misc bug and build fixes. 1337*2d1272b8SAndroid Build Coastguard Worker- Fix subsetting of simple GSUB/GDEF. 1338*2d1272b8SAndroid Build Coastguard Worker- Merge CFF / CFF2 support contributed by Adobe. This mostly involves 1339*2d1272b8SAndroid Build Coastguard Worker the subsetter, but also get_glyph_extents on CFF fonts. 1340*2d1272b8SAndroid Build Coastguard Worker 1341*2d1272b8SAndroid Build Coastguard WorkerNew API in hb-aat.h: 1342*2d1272b8SAndroid Build Coastguard Worker+hb_aat_layout_has_substitution() 1343*2d1272b8SAndroid Build Coastguard Worker+hb_aat_layout_has_positioning() 1344*2d1272b8SAndroid Build Coastguard Worker+hb_aat_layout_has_tracking() 1345*2d1272b8SAndroid Build Coastguard Worker 1346*2d1272b8SAndroid Build Coastguard Worker 1347*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 2.2.0 1348*2d1272b8SAndroid Build Coastguard WorkerThursday, November 29, 2018 1349*2d1272b8SAndroid Build Coastguard Worker==================================== 1350*2d1272b8SAndroid Build Coastguard Worker- Misc shaping bug fixes. 1351*2d1272b8SAndroid Build Coastguard Worker- Add font variations named-instance API. 1352*2d1272b8SAndroid Build Coastguard Worker- Deprecate font variations axis enumeration API and add replacement. 1353*2d1272b8SAndroid Build Coastguard Worker- AAT shaping improvements: 1354*2d1272b8SAndroid Build Coastguard Worker o Fixed 'kern' table Format 2 implementation. 1355*2d1272b8SAndroid Build Coastguard Worker o Implement 'feat' table API for feature detection. 1356*2d1272b8SAndroid Build Coastguard Worker o Blacklist 'GSUB' table of fonts from 'MUTF' foundry that also have 'morx'. 1357*2d1272b8SAndroid Build Coastguard Worker 1358*2d1272b8SAndroid Build Coastguard WorkerNew API: 1359*2d1272b8SAndroid Build Coastguard Worker+hb_aat_layout_feature_type_t 1360*2d1272b8SAndroid Build Coastguard Worker+hb_aat_layout_feature_selector_t 1361*2d1272b8SAndroid Build Coastguard Worker+hb_aat_layout_get_feature_types() 1362*2d1272b8SAndroid Build Coastguard Worker+hb_aat_layout_feature_type_get_name_id 1363*2d1272b8SAndroid Build Coastguard Worker+hb_aat_layout_feature_selector_info_t 1364*2d1272b8SAndroid Build Coastguard Worker+HB_AAT_LAYOUT_NO_SELECTOR_INDEX 1365*2d1272b8SAndroid Build Coastguard Worker+hb_aat_layout_feature_type_get_selector_infos() 1366*2d1272b8SAndroid Build Coastguard Worker+hb_ot_var_axis_flags_t 1367*2d1272b8SAndroid Build Coastguard Worker+hb_ot_var_axis_info_t 1368*2d1272b8SAndroid Build Coastguard Worker+hb_ot_var_get_axis_infos() 1369*2d1272b8SAndroid Build Coastguard Worker+hb_ot_var_find_axis_info() 1370*2d1272b8SAndroid Build Coastguard Worker+hb_ot_var_get_named_instance_count() 1371*2d1272b8SAndroid Build Coastguard Worker+hb_ot_var_named_instance_get_subfamily_name_id() 1372*2d1272b8SAndroid Build Coastguard Worker+hb_ot_var_named_instance_get_postscript_name_id() 1373*2d1272b8SAndroid Build Coastguard Worker+hb_ot_var_named_instance_get_design_coords() 1374*2d1272b8SAndroid Build Coastguard Worker 1375*2d1272b8SAndroid Build Coastguard WorkerDeprecated API: 1376*2d1272b8SAndroid Build Coastguard Worker+HB_OT_VAR_NO_AXIS_INDEX 1377*2d1272b8SAndroid Build Coastguard Worker+hb_ot_var_axis_t 1378*2d1272b8SAndroid Build Coastguard Worker+hb_ot_var_get_axes() 1379*2d1272b8SAndroid Build Coastguard Worker+hb_ot_var_find_axis() 1380*2d1272b8SAndroid Build Coastguard Worker 1381*2d1272b8SAndroid Build Coastguard Worker 1382*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 2.1.3 1383*2d1272b8SAndroid Build Coastguard WorkerFriday, November 16, 2018 1384*2d1272b8SAndroid Build Coastguard Worker==================================== 1385*2d1272b8SAndroid Build Coastguard Worker- Fix AAT 'mort' shaping, which was broken in 2.1.2 1386*2d1272b8SAndroid Build Coastguard Worker 1387*2d1272b8SAndroid Build Coastguard Worker 1388*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 2.1.2 1389*2d1272b8SAndroid Build Coastguard WorkerFriday, November 16, 2018 1390*2d1272b8SAndroid Build Coastguard Worker==================================== 1391*2d1272b8SAndroid Build Coastguard Worker- Various internal changes. 1392*2d1272b8SAndroid Build Coastguard Worker- AAT shaping improvements: 1393*2d1272b8SAndroid Build Coastguard Worker o Implement kern table Format 1 state-machine-based kerning. 1394*2d1272b8SAndroid Build Coastguard Worker o Implement cross-stream kerning (cursive positioning, etc). 1395*2d1272b8SAndroid Build Coastguard Worker o Ignore emptyish GSUB tables (zero scripts) if morx present. 1396*2d1272b8SAndroid Build Coastguard Worker o Don't apply GPOS if morx is being applied. Matches Apple. 1397*2d1272b8SAndroid Build Coastguard Worker 1398*2d1272b8SAndroid Build Coastguard Worker 1399*2d1272b8SAndroid Build Coastguard Worker-Overview of changes leading to 2.1.1 1400*2d1272b8SAndroid Build Coastguard WorkerMonday, November 5, 2018 1401*2d1272b8SAndroid Build Coastguard Worker==================================== 1402*2d1272b8SAndroid Build Coastguard Worker- AAT improvements: 1403*2d1272b8SAndroid Build Coastguard Worker o Implement 'mort' table. 1404*2d1272b8SAndroid Build Coastguard Worker o Implement 'kern' subtables Format 1 and Format 3. 1405*2d1272b8SAndroid Build Coastguard Worker 1406*2d1272b8SAndroid Build Coastguard Worker 1407*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 2.1.0 1408*2d1272b8SAndroid Build Coastguard WorkerTuesday, October 30, 2018 1409*2d1272b8SAndroid Build Coastguard Worker==================================== 1410*2d1272b8SAndroid Build Coastguard Worker- AAT shaping improvements: 1411*2d1272b8SAndroid Build Coastguard Worker o Allow user controlling AAT features, for whole buffer only currently. 1412*2d1272b8SAndroid Build Coastguard Worker o Several 'morx' fixes. 1413*2d1272b8SAndroid Build Coastguard Worker o Implement tuple-kerns in 'kerx'; Fixes kerning with Apple default 1414*2d1272b8SAndroid Build Coastguard Worker San Francisco fonts. 1415*2d1272b8SAndroid Build Coastguard Worker- Support for color fonts: 1416*2d1272b8SAndroid Build Coastguard Worker o COLR/CPAL API to fetch color layers. 1417*2d1272b8SAndroid Build Coastguard Worker o SVG table to fetch SVG documents. 1418*2d1272b8SAndroid Build Coastguard Worker o CBDT/sbix API to fetch PNG images. 1419*2d1272b8SAndroid Build Coastguard Worker- New 'name' table API. 1420*2d1272b8SAndroid Build Coastguard Worker- hb-ot-font now uses 'VORG' table to correctly position CFF glyphs 1421*2d1272b8SAndroid Build Coastguard Worker in vertical layout. 1422*2d1272b8SAndroid Build Coastguard Worker- Various fuzzer-found bug fixes. 1423*2d1272b8SAndroid Build Coastguard Worker 1424*2d1272b8SAndroid Build Coastguard WorkerChanged API: 1425*2d1272b8SAndroid Build Coastguard Worker 1426*2d1272b8SAndroid Build Coastguard WorkerA type and a macro added in 2.0.0 were renamed: 1427*2d1272b8SAndroid Build Coastguard Worker 1428*2d1272b8SAndroid Build Coastguard Workerhb_name_id_t -> hb_ot_name_id_t 1429*2d1272b8SAndroid Build Coastguard WorkerHB_NAME_ID_INVALID -> HB_OT_NAME_ID_INVALID 1430*2d1272b8SAndroid Build Coastguard Worker 1431*2d1272b8SAndroid Build Coastguard WorkerNew API: 1432*2d1272b8SAndroid Build Coastguard Worker 1433*2d1272b8SAndroid Build Coastguard Worker+hb_color_t 1434*2d1272b8SAndroid Build Coastguard Worker+HB_COLOR 1435*2d1272b8SAndroid Build Coastguard Worker+hb_color_get_alpha() 1436*2d1272b8SAndroid Build Coastguard Worker+hb_color_get_red() 1437*2d1272b8SAndroid Build Coastguard Worker+hb_color_get_green() 1438*2d1272b8SAndroid Build Coastguard Worker+hb_color_get_blue() 1439*2d1272b8SAndroid Build Coastguard Worker+hb_ot_color_has_palettes() 1440*2d1272b8SAndroid Build Coastguard Worker+hb_ot_color_palette_get_count() 1441*2d1272b8SAndroid Build Coastguard Worker+hb_ot_color_palette_get_name_id() 1442*2d1272b8SAndroid Build Coastguard Worker+hb_ot_color_palette_color_get_name_id() 1443*2d1272b8SAndroid Build Coastguard Worker+hb_ot_color_palette_flags_t 1444*2d1272b8SAndroid Build Coastguard Worker+hb_ot_color_palette_get_flags() 1445*2d1272b8SAndroid Build Coastguard Worker+hb_ot_color_palette_get_colors() 1446*2d1272b8SAndroid Build Coastguard Worker+hb_ot_color_has_layers() 1447*2d1272b8SAndroid Build Coastguard Worker+hb_ot_color_layer_t 1448*2d1272b8SAndroid Build Coastguard Worker+hb_ot_color_glyph_get_layers() 1449*2d1272b8SAndroid Build Coastguard Worker+hb_ot_color_has_svg() 1450*2d1272b8SAndroid Build Coastguard Worker+hb_ot_color_glyph_reference_svg() 1451*2d1272b8SAndroid Build Coastguard Worker+hb_ot_color_has_png() 1452*2d1272b8SAndroid Build Coastguard Worker+hb_ot_color_glyph_reference_png() 1453*2d1272b8SAndroid Build Coastguard Worker 1454*2d1272b8SAndroid Build Coastguard Worker+hb_ot_name_id_t 1455*2d1272b8SAndroid Build Coastguard Worker+HB_OT_NAME_ID_INVALID 1456*2d1272b8SAndroid Build Coastguard Worker+HB_OT_NAME_ID_COPYRIGHT 1457*2d1272b8SAndroid Build Coastguard Worker+HB_OT_NAME_ID_FONT_FAMILY 1458*2d1272b8SAndroid Build Coastguard Worker+HB_OT_NAME_ID_FONT_SUBFAMILY 1459*2d1272b8SAndroid Build Coastguard Worker+HB_OT_NAME_ID_UNIQUE_ID 1460*2d1272b8SAndroid Build Coastguard Worker+HB_OT_NAME_ID_FULL_NAME 1461*2d1272b8SAndroid Build Coastguard Worker+HB_OT_NAME_ID_VERSION_STRING 1462*2d1272b8SAndroid Build Coastguard Worker+HB_OT_NAME_ID_POSTSCRIPT_NAME 1463*2d1272b8SAndroid Build Coastguard Worker+HB_OT_NAME_ID_TRADEMARK 1464*2d1272b8SAndroid Build Coastguard Worker+HB_OT_NAME_ID_MANUFACTURER 1465*2d1272b8SAndroid Build Coastguard Worker+HB_OT_NAME_ID_DESIGNER 1466*2d1272b8SAndroid Build Coastguard Worker+HB_OT_NAME_ID_DESCRIPTION 1467*2d1272b8SAndroid Build Coastguard Worker+HB_OT_NAME_ID_VENDOR_URL 1468*2d1272b8SAndroid Build Coastguard Worker+HB_OT_NAME_ID_DESIGNER_URL 1469*2d1272b8SAndroid Build Coastguard Worker+HB_OT_NAME_ID_LICENSE 1470*2d1272b8SAndroid Build Coastguard Worker+HB_OT_NAME_ID_LICENSE_URL 1471*2d1272b8SAndroid Build Coastguard Worker+HB_OT_NAME_ID_TYPOGRAPHIC_FAMILY 1472*2d1272b8SAndroid Build Coastguard Worker+HB_OT_NAME_ID_TYPOGRAPHIC_SUBFAMILY 1473*2d1272b8SAndroid Build Coastguard Worker+HB_OT_NAME_ID_MAC_FULL_NAME 1474*2d1272b8SAndroid Build Coastguard Worker+HB_OT_NAME_ID_SAMPLE_TEXT 1475*2d1272b8SAndroid Build Coastguard Worker+HB_OT_NAME_ID_CID_FINDFONT_NAME 1476*2d1272b8SAndroid Build Coastguard Worker+HB_OT_NAME_ID_WWS_FAMILY 1477*2d1272b8SAndroid Build Coastguard Worker+HB_OT_NAME_ID_WWS_SUBFAMILY 1478*2d1272b8SAndroid Build Coastguard Worker+HB_OT_NAME_ID_LIGHT_BACKGROUND 1479*2d1272b8SAndroid Build Coastguard Worker+HB_OT_NAME_ID_DARK_BACKGROUND 1480*2d1272b8SAndroid Build Coastguard Worker+HB_OT_NAME_ID_VARIATIONS_PS_PREFIX 1481*2d1272b8SAndroid Build Coastguard Worker+hb_ot_name_entry_t 1482*2d1272b8SAndroid Build Coastguard Worker+hb_ot_name_list_names() 1483*2d1272b8SAndroid Build Coastguard Worker+hb_ot_name_get_utf8() 1484*2d1272b8SAndroid Build Coastguard Worker+hb_ot_name_get_utf16() 1485*2d1272b8SAndroid Build Coastguard Worker+hb_ot_name_get_utf32() 1486*2d1272b8SAndroid Build Coastguard Worker 1487*2d1272b8SAndroid Build Coastguard Worker 1488*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 2.0.2 1489*2d1272b8SAndroid Build Coastguard WorkerSaturday, October 20, 2018 1490*2d1272b8SAndroid Build Coastguard Worker==================================== 1491*2d1272b8SAndroid Build Coastguard Worker- Fix two minor memory access issues in AAT tables. 1492*2d1272b8SAndroid Build Coastguard Worker 1493*2d1272b8SAndroid Build Coastguard Worker 1494*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 2.0.1 1495*2d1272b8SAndroid Build Coastguard WorkerFriday, October 19, 2018 1496*2d1272b8SAndroid Build Coastguard Worker==================================== 1497*2d1272b8SAndroid Build Coastguard Worker- Fix hb-version.h reported release version that went wrong (1.8.0) 1498*2d1272b8SAndroid Build Coastguard Worker with previous release. 1499*2d1272b8SAndroid Build Coastguard Worker- Fix extrapolation in 'trak' table. 1500*2d1272b8SAndroid Build Coastguard Worker- Fix hb-font infinite-recursion issue with some font funcs and 1501*2d1272b8SAndroid Build Coastguard Worker subclassed fonts. 1502*2d1272b8SAndroid Build Coastguard Worker- Implement variation-kerning format in kerx table, although without 1503*2d1272b8SAndroid Build Coastguard Worker variation. 1504*2d1272b8SAndroid Build Coastguard Worker- Fix return value of hb_map_is_empty(). 1505*2d1272b8SAndroid Build Coastguard Worker 1506*2d1272b8SAndroid Build Coastguard Worker 1507*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 2.0.0 1508*2d1272b8SAndroid Build Coastguard WorkerThursday, October 18, 2018 1509*2d1272b8SAndroid Build Coastguard Worker==================================== 1510*2d1272b8SAndroid Build Coastguard Worker- Added AAT shaping support (morx/kerx/trak). 1511*2d1272b8SAndroid Build Coastguard Worker Automatically used if GSUB/GPOS are not available respectively. 1512*2d1272b8SAndroid Build Coastguard Worker Set HB_OPTIONS=aat env var to have morx/kerx preferred over 1513*2d1272b8SAndroid Build Coastguard Worker GSUB/GPOS. 1514*2d1272b8SAndroid Build Coastguard Worker- Apply TrueType kern table internally, instead of relying on 1515*2d1272b8SAndroid Build Coastguard Worker hb_font_t callbacks. 1516*2d1272b8SAndroid Build Coastguard Worker- Khmer shaper significantly rewritten to better match Uniscribe. 1517*2d1272b8SAndroid Build Coastguard Worker- Indic3 tags ('dev3', etc) are passed to USE shaper. 1518*2d1272b8SAndroid Build Coastguard Worker- .dfont Mac font containers implemented. 1519*2d1272b8SAndroid Build Coastguard Worker- Script- and language-mapping revamped to better use BCP 47. 1520*2d1272b8SAndroid Build Coastguard Worker- Misc USE and Indic fixes. 1521*2d1272b8SAndroid Build Coastguard Worker- Misc everything fixes. 1522*2d1272b8SAndroid Build Coastguard Worker- Too many things to list. Biggest release since 0.9.1, with 1523*2d1272b8SAndroid Build Coastguard Worker over 500 commits in just over 5 weeks! Didn't intend it to 1524*2d1272b8SAndroid Build Coastguard Worker be a big release. Just happened to become. 1525*2d1272b8SAndroid Build Coastguard Worker- hb-ft now locks underlying FT_Face during use. 1526*2d1272b8SAndroid Build Coastguard Worker 1527*2d1272b8SAndroid Build Coastguard WorkerAPI changes: 1528*2d1272b8SAndroid Build Coastguard Worker 1529*2d1272b8SAndroid Build Coastguard Worker- Newly-created hb_font_t's now have our internal "hb-ot-font" 1530*2d1272b8SAndroid Build Coastguard Worker callbacks set on them, so they should work out of the box 1531*2d1272b8SAndroid Build Coastguard Worker without any callbacks set. If callbacks are set, everything 1532*2d1272b8SAndroid Build Coastguard Worker is back to what it was before, the fallback callbacks are 1533*2d1272b8SAndroid Build Coastguard Worker null. If you to get the internal implementation modified, 1534*2d1272b8SAndroid Build Coastguard Worker sub_font it. 1535*2d1272b8SAndroid Build Coastguard Worker 1536*2d1272b8SAndroid Build Coastguard Worker- New hb_font_funcs_set_nominal_glyphs_func() allows speeding 1537*2d1272b8SAndroid Build Coastguard Worker up character to glyph mapping. 1538*2d1272b8SAndroid Build Coastguard Worker 1539*2d1272b8SAndroid Build Coastguard WorkerNew API: 1540*2d1272b8SAndroid Build Coastguard Worker+HB_FEATURE_GLOBAL_START 1541*2d1272b8SAndroid Build Coastguard Worker+HB_FEATURE_GLOBAL_END 1542*2d1272b8SAndroid Build Coastguard Worker+hb_buffer_set_invisible_glyph() 1543*2d1272b8SAndroid Build Coastguard Worker+hb_buffer_get_invisible_glyph() 1544*2d1272b8SAndroid Build Coastguard Worker+hb_font_funcs_set_nominal_glyphs_func() 1545*2d1272b8SAndroid Build Coastguard Worker+hb_ot_layout_table_select_script() 1546*2d1272b8SAndroid Build Coastguard Worker+hb_ot_layout_script_select_language() 1547*2d1272b8SAndroid Build Coastguard Worker+hb_ot_layout_feature_get_name_ids() 1548*2d1272b8SAndroid Build Coastguard Worker+hb_ot_layout_feature_get_characters() 1549*2d1272b8SAndroid Build Coastguard Worker+hb_name_id_t 1550*2d1272b8SAndroid Build Coastguard Worker+HB_NAME_ID_INVALID 1551*2d1272b8SAndroid Build Coastguard Worker+HB_OT_MAX_TAGS_PER_SCRIPT 1552*2d1272b8SAndroid Build Coastguard Worker+hb_ot_tags_from_script_and_language() 1553*2d1272b8SAndroid Build Coastguard Worker+hb_ot_tags_to_script_and_language() 1554*2d1272b8SAndroid Build Coastguard Worker 1555*2d1272b8SAndroid Build Coastguard WorkerDeprecated API: 1556*2d1272b8SAndroid Build Coastguard Worker-hb_font_funcs_set_glyph_func() 1557*2d1272b8SAndroid Build Coastguard Worker-hb_unicode_eastasian_width_func_t 1558*2d1272b8SAndroid Build Coastguard Worker-hb_unicode_funcs_set_eastasian_width_func() 1559*2d1272b8SAndroid Build Coastguard Worker-hb_unicode_eastasian_width() 1560*2d1272b8SAndroid Build Coastguard Worker-hb_unicode_decompose_compatibility_func_t 1561*2d1272b8SAndroid Build Coastguard Worker-HB_UNICODE_MAX_DECOMPOSITION_LEN 1562*2d1272b8SAndroid Build Coastguard Worker-hb_unicode_funcs_set_decompose_compatibility_func() 1563*2d1272b8SAndroid Build Coastguard Worker-hb_unicode_decompose_compatibility() 1564*2d1272b8SAndroid Build Coastguard Worker-hb_font_funcs_set_glyph_h_kerning_func() 1565*2d1272b8SAndroid Build Coastguard Worker-hb_font_funcs_set_glyph_v_kerning_func() 1566*2d1272b8SAndroid Build Coastguard Worker-hb_font_get_glyph_h_kerning() 1567*2d1272b8SAndroid Build Coastguard Worker-hb_font_get_glyph_v_kerning() 1568*2d1272b8SAndroid Build Coastguard Worker-hb_font_get_glyph_kerning_for_direction() 1569*2d1272b8SAndroid Build Coastguard Worker-hb_ot_layout_table_choose_script() 1570*2d1272b8SAndroid Build Coastguard Worker-hb_ot_layout_script_find_language() 1571*2d1272b8SAndroid Build Coastguard Worker-hb_ot_tags_from_script() 1572*2d1272b8SAndroid Build Coastguard Worker-hb_ot_tag_from_language() 1573*2d1272b8SAndroid Build Coastguard Worker 1574*2d1272b8SAndroid Build Coastguard Worker 1575*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 1.9.0 1576*2d1272b8SAndroid Build Coastguard WorkerMonday, September 10, 2018 1577*2d1272b8SAndroid Build Coastguard Worker==================================== 1578*2d1272b8SAndroid Build Coastguard Worker- Added 'cmap' API to hb_face_t. 1579*2d1272b8SAndroid Build Coastguard Worker- Face-builder API. 1580*2d1272b8SAndroid Build Coastguard Worker- hb-ot-font re-creation should be much leaner now, as the 1581*2d1272b8SAndroid Build Coastguard Worker font tables it uses are cached on hb_face_t now. 1582*2d1272b8SAndroid Build Coastguard Worker- Internal source header file name changes: 1583*2d1272b8SAndroid Build Coastguard Worker hb-*-private.hh is renamed to hb-*.hh. 1584*2d1272b8SAndroid Build Coastguard Worker 1585*2d1272b8SAndroid Build Coastguard WorkerNew API: 1586*2d1272b8SAndroid Build Coastguard Worker+HB_UNICODE_MAX 1587*2d1272b8SAndroid Build Coastguard Worker+hb_face_collect_unicodes() 1588*2d1272b8SAndroid Build Coastguard Worker+hb_face_collect_variation_selectors() 1589*2d1272b8SAndroid Build Coastguard Worker+hb_face_collect_variation_unicodes() 1590*2d1272b8SAndroid Build Coastguard Worker+hb_face_builder_create() 1591*2d1272b8SAndroid Build Coastguard Worker+hb_face_builder_add_table() 1592*2d1272b8SAndroid Build Coastguard Worker 1593*2d1272b8SAndroid Build Coastguard Worker 1594*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 1.8.8 1595*2d1272b8SAndroid Build Coastguard WorkerTuesday, August 14, 2018 1596*2d1272b8SAndroid Build Coastguard Worker==================================== 1597*2d1272b8SAndroid Build Coastguard Worker- Fix hb-icu crash on architectures where compare_exchange_weak() can 1598*2d1272b8SAndroid Build Coastguard Worker fail falsely. This bug was introduced in 1.8.4. 1599*2d1272b8SAndroid Build Coastguard Worker https://bugs.chromium.org/p/chromium/issues/detail?id=873568 1600*2d1272b8SAndroid Build Coastguard Worker- More internal refactoring of atomic operations and singletons. 1601*2d1272b8SAndroid Build Coastguard Worker- API changes: 1602*2d1272b8SAndroid Build Coastguard Worker The following functions do NOT reference their return value before 1603*2d1272b8SAndroid Build Coastguard Worker returning: 1604*2d1272b8SAndroid Build Coastguard Worker * hb_unicode_funcs_get_default() 1605*2d1272b8SAndroid Build Coastguard Worker * hb_glib_get_unicode_funcs() 1606*2d1272b8SAndroid Build Coastguard Worker * hb_icu_get_unicode_funcs() 1607*2d1272b8SAndroid Build Coastguard Worker This is consistent with their naming ("get", instead of "reference") 1608*2d1272b8SAndroid Build Coastguard Worker as well as how they are used in the wild (ie. no one calls destroy() 1609*2d1272b8SAndroid Build Coastguard Worker on their return value.) 1610*2d1272b8SAndroid Build Coastguard Worker 1611*2d1272b8SAndroid Build Coastguard Worker 1612*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 1.8.7 1613*2d1272b8SAndroid Build Coastguard WorkerWednesday, August 8, 2018 1614*2d1272b8SAndroid Build Coastguard Worker==================================== 1615*2d1272b8SAndroid Build Coastguard Worker- Fix assertion failure with GDEF-blacklisted fonts. 1616*2d1272b8SAndroid Build Coastguard Worker 1617*2d1272b8SAndroid Build Coastguard Worker 1618*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 1.8.6 1619*2d1272b8SAndroid Build Coastguard WorkerTuesday, August 7, 2018 1620*2d1272b8SAndroid Build Coastguard Worker==================================== 1621*2d1272b8SAndroid Build Coastguard Worker- Internal code shuffling. 1622*2d1272b8SAndroid Build Coastguard Worker- New API to speed up getting advance widths for implementations 1623*2d1272b8SAndroid Build Coastguard Worker that have heavy overhead in get_h_advance callback: 1624*2d1272b8SAndroid Build Coastguard Worker+hb_font_funcs_set_glyph_h_advances_func 1625*2d1272b8SAndroid Build Coastguard Worker+hb_font_funcs_set_glyph_v_advances_func 1626*2d1272b8SAndroid Build Coastguard Worker+hb_font_get_glyph_advances_for_direction 1627*2d1272b8SAndroid Build Coastguard Worker+hb_font_get_glyph_h_advances 1628*2d1272b8SAndroid Build Coastguard Worker+hb_font_get_glyph_h_advances_func_t 1629*2d1272b8SAndroid Build Coastguard Worker+hb_font_get_glyph_v_advances 1630*2d1272b8SAndroid Build Coastguard Worker+hb_font_get_glyph_v_advances_func_t 1631*2d1272b8SAndroid Build Coastguard Worker 1632*2d1272b8SAndroid Build Coastguard Worker 1633*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 1.8.5 1634*2d1272b8SAndroid Build Coastguard WorkerWednesday, August 1, 2018 1635*2d1272b8SAndroid Build Coastguard Worker==================================== 1636*2d1272b8SAndroid Build Coastguard Worker- Major Khmer shaper improvements to better match Microsoft. 1637*2d1272b8SAndroid Build Coastguard Worker- Indic bug fixes. 1638*2d1272b8SAndroid Build Coastguard Worker- Internal improvements to atomic operations. 1639*2d1272b8SAndroid Build Coastguard Worker 1640*2d1272b8SAndroid Build Coastguard Worker 1641*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 1.8.4 1642*2d1272b8SAndroid Build Coastguard WorkerTuesday, July 17, 2018 1643*2d1272b8SAndroid Build Coastguard Worker==================================== 1644*2d1272b8SAndroid Build Coastguard Worker- Fix build on non-C++11. 1645*2d1272b8SAndroid Build Coastguard Worker- Use C++-style GCC atomics and C++11 atomics. 1646*2d1272b8SAndroid Build Coastguard Worker 1647*2d1272b8SAndroid Build Coastguard Worker 1648*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 1.8.3 1649*2d1272b8SAndroid Build Coastguard WorkerWednesday, July 11, 2018 1650*2d1272b8SAndroid Build Coastguard Worker==================================== 1651*2d1272b8SAndroid Build Coastguard Worker- A couple of Indic / USE bug fixes. 1652*2d1272b8SAndroid Build Coastguard Worker- Disable vectorization, as it was causing unaligned access bus error on 1653*2d1272b8SAndroid Build Coastguard Worker certain 32bit architectures. 1654*2d1272b8SAndroid Build Coastguard Worker 1655*2d1272b8SAndroid Build Coastguard Worker 1656*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 1.8.2 1657*2d1272b8SAndroid Build Coastguard WorkerTuesday, July 3, 2018 1658*2d1272b8SAndroid Build Coastguard Worker==================================== 1659*2d1272b8SAndroid Build Coastguard Worker- Fix infinite loop in Khmer shaper. 1660*2d1272b8SAndroid Build Coastguard Worker- Improve hb_blob_create_from_file() for streams. 1661*2d1272b8SAndroid Build Coastguard Worker 1662*2d1272b8SAndroid Build Coastguard Worker 1663*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 1.8.1 1664*2d1272b8SAndroid Build Coastguard WorkerTuesday, June 12, 2018 1665*2d1272b8SAndroid Build Coastguard Worker==================================== 1666*2d1272b8SAndroid Build Coastguard Worker- Fix hb-version.h file generation; last two releases went out with wrong ones. 1667*2d1272b8SAndroid Build Coastguard Worker- Add correctness bug in hb_set_t operations, introduced in 1.7.7. 1668*2d1272b8SAndroid Build Coastguard Worker- Remove HB_SUBSET_BUILTIN build option. Not necessary. 1669*2d1272b8SAndroid Build Coastguard Worker 1670*2d1272b8SAndroid Build Coastguard Worker 1671*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 1.8.0 1672*2d1272b8SAndroid Build Coastguard WorkerTuesday, June 5, 2018 1673*2d1272b8SAndroid Build Coastguard Worker==================================== 1674*2d1272b8SAndroid Build Coastguard Worker- Update to Unicode 11.0.0. 1675*2d1272b8SAndroid Build Coastguard Worker 1676*2d1272b8SAndroid Build Coastguard Worker 1677*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 1.7.7 1678*2d1272b8SAndroid Build Coastguard WorkerTuesday, June 5, 2018 1679*2d1272b8SAndroid Build Coastguard Worker==================================== 1680*2d1272b8SAndroid Build Coastguard Worker- Lots of internal changes, but not yet exposed externally. 1681*2d1272b8SAndroid Build Coastguard Worker- All HarfBuzz objects are significantly smaller in size now. 1682*2d1272b8SAndroid Build Coastguard Worker- Sinhala: Position repha on top of post-consonant, not base. 1683*2d1272b8SAndroid Build Coastguard Worker This better matches Windows 10 behavior, which was changed 1684*2d1272b8SAndroid Build Coastguard Worker from previous Windows versions. 1685*2d1272b8SAndroid Build Coastguard Worker- New build options: 1686*2d1272b8SAndroid Build Coastguard Worker o New cpp macro HB_NO_ATEXIT 1687*2d1272b8SAndroid Build Coastguard Worker o New cpp macro HB_SUBSET_BUILTIN 1688*2d1272b8SAndroid Build Coastguard Worker- Significant libharfbuzz-subset changes. API subject to change. 1689*2d1272b8SAndroid Build Coastguard Worker- New API in libharfbuzz: 1690*2d1272b8SAndroid Build Coastguard Worker 1691*2d1272b8SAndroid Build Coastguard Worker+hb_blob_create_from_file() 1692*2d1272b8SAndroid Build Coastguard Worker+hb_face_count() 1693*2d1272b8SAndroid Build Coastguard Worker 1694*2d1272b8SAndroid Build Coastguard WorkerA hashmap implementation: 1695*2d1272b8SAndroid Build Coastguard Worker+hb-map.h 1696*2d1272b8SAndroid Build Coastguard Worker+HB_MAP_VALUE_INVALID 1697*2d1272b8SAndroid Build Coastguard Worker+hb_map_t 1698*2d1272b8SAndroid Build Coastguard Worker+hb_map_create() 1699*2d1272b8SAndroid Build Coastguard Worker+hb_map_get_empty() 1700*2d1272b8SAndroid Build Coastguard Worker+hb_map_reference() 1701*2d1272b8SAndroid Build Coastguard Worker+hb_map_destroy() 1702*2d1272b8SAndroid Build Coastguard Worker+hb_map_set_user_data() 1703*2d1272b8SAndroid Build Coastguard Worker+hb_map_get_user_data() 1704*2d1272b8SAndroid Build Coastguard Worker+hb_map_allocation_successful() 1705*2d1272b8SAndroid Build Coastguard Worker+hb_map_clear() 1706*2d1272b8SAndroid Build Coastguard Worker+hb_map_is_empty() 1707*2d1272b8SAndroid Build Coastguard Worker+hb_map_get_population() 1708*2d1272b8SAndroid Build Coastguard Worker+hb_map_set() 1709*2d1272b8SAndroid Build Coastguard Worker+hb_map_get() 1710*2d1272b8SAndroid Build Coastguard Worker+hb_map_del() 1711*2d1272b8SAndroid Build Coastguard Worker+hb_map_has() 1712*2d1272b8SAndroid Build Coastguard Worker 1713*2d1272b8SAndroid Build Coastguard Worker 1714*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 1.7.6 1715*2d1272b8SAndroid Build Coastguard WorkerWednesday, March 7, 2018 1716*2d1272b8SAndroid Build Coastguard Worker==================================== 1717*2d1272b8SAndroid Build Coastguard Worker 1718*2d1272b8SAndroid Build Coastguard Worker- Fix to hb_set_t binary operations. Ouch. 1719*2d1272b8SAndroid Build Coastguard Worker- New experimental harfbuzz-subset library. All of hb-subset.h 1720*2d1272b8SAndroid Build Coastguard Worker is experimental right now and API WILL change. 1721*2d1272b8SAndroid Build Coastguard Worker 1722*2d1272b8SAndroid Build Coastguard Worker- New API: 1723*2d1272b8SAndroid Build Coastguard Workerhb_blob_copy_writable_or_fail() 1724*2d1272b8SAndroid Build Coastguard WorkerHB_OT_TAG_BASE 1725*2d1272b8SAndroid Build Coastguard Workerhb_set_previous() 1726*2d1272b8SAndroid Build Coastguard Workerhb_set_previous_range() 1727*2d1272b8SAndroid Build Coastguard Worker 1728*2d1272b8SAndroid Build Coastguard Worker 1729*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 1.7.5 1730*2d1272b8SAndroid Build Coastguard WorkerTuesday, January 30, 2018 1731*2d1272b8SAndroid Build Coastguard Worker==================================== 1732*2d1272b8SAndroid Build Coastguard Worker 1733*2d1272b8SAndroid Build Coastguard Worker- Separate Khmer shaper from Indic. 1734*2d1272b8SAndroid Build Coastguard Worker- First stab at AAT morx. Not hooked up. 1735*2d1272b8SAndroid Build Coastguard Worker- Misc bug fixes. 1736*2d1272b8SAndroid Build Coastguard Worker 1737*2d1272b8SAndroid Build Coastguard Worker 1738*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 1.7.4 1739*2d1272b8SAndroid Build Coastguard WorkerWednesday, December 20, 2017 1740*2d1272b8SAndroid Build Coastguard Worker==================================== 1741*2d1272b8SAndroid Build Coastguard Worker 1742*2d1272b8SAndroid Build Coastguard Worker- Fix collect_glyphs() regression caused by hb_set_t changes. 1743*2d1272b8SAndroid Build Coastguard Worker 1744*2d1272b8SAndroid Build Coastguard Worker 1745*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 1.7.3 1746*2d1272b8SAndroid Build Coastguard WorkerMonday, December 18, 2017 1747*2d1272b8SAndroid Build Coastguard Worker==================================== 1748*2d1272b8SAndroid Build Coastguard Worker 1749*2d1272b8SAndroid Build Coastguard Worker- hb_set_t performance tuning and optimizations. 1750*2d1272b8SAndroid Build Coastguard Worker- Speed up collect_glyphs() and reject garbage data. 1751*2d1272b8SAndroid Build Coastguard Worker- In hb_coretext_font_create() set font point-size (ptem). 1752*2d1272b8SAndroid Build Coastguard Worker- Misc fixes. 1753*2d1272b8SAndroid Build Coastguard Worker 1754*2d1272b8SAndroid Build Coastguard Worker 1755*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 1.7.2 1756*2d1272b8SAndroid Build Coastguard WorkerMonday, December 4, 2017 1757*2d1272b8SAndroid Build Coastguard Worker==================================== 1758*2d1272b8SAndroid Build Coastguard Worker 1759*2d1272b8SAndroid Build Coastguard Worker- Optimize hb_set_add_range(). 1760*2d1272b8SAndroid Build Coastguard Worker- Misc fixes. 1761*2d1272b8SAndroid Build Coastguard Worker- New API: 1762*2d1272b8SAndroid Build Coastguard Workerhb_coretext_font_create() 1763*2d1272b8SAndroid Build Coastguard Worker 1764*2d1272b8SAndroid Build Coastguard Worker 1765*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 1.7.1 1766*2d1272b8SAndroid Build Coastguard WorkerTuesday, November 14, 2017 1767*2d1272b8SAndroid Build Coastguard Worker==================================== 1768*2d1272b8SAndroid Build Coastguard Worker 1769*2d1272b8SAndroid Build Coastguard Worker- Fix atexit object destruction regression. 1770*2d1272b8SAndroid Build Coastguard Worker- Fix minor integer-overflow. 1771*2d1272b8SAndroid Build Coastguard Worker 1772*2d1272b8SAndroid Build Coastguard Worker 1773*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 1.7.0 1774*2d1272b8SAndroid Build Coastguard WorkerMonday, November 13, 2017 1775*2d1272b8SAndroid Build Coastguard Worker==================================== 1776*2d1272b8SAndroid Build Coastguard Worker 1777*2d1272b8SAndroid Build Coastguard Worker- Minor Indic fixes. 1778*2d1272b8SAndroid Build Coastguard Worker- Implement kerning and glyph names in hb-ot-font. 1779*2d1272b8SAndroid Build Coastguard Worker- Various DSO optimization re .data and .bss sizes. 1780*2d1272b8SAndroid Build Coastguard Worker- Make C++11 optional; build fixes. 1781*2d1272b8SAndroid Build Coastguard Worker- Mark all other backends "unsafe-to-break". 1782*2d1272b8SAndroid Build Coastguard Worker- Graphite fix. 1783*2d1272b8SAndroid Build Coastguard Worker 1784*2d1272b8SAndroid Build Coastguard Worker 1785*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 1.6.3 1786*2d1272b8SAndroid Build Coastguard WorkerThursday, October 26th, 2017 1787*2d1272b8SAndroid Build Coastguard Worker==================================== 1788*2d1272b8SAndroid Build Coastguard Worker 1789*2d1272b8SAndroid Build Coastguard Worker- Fix hb_set_t some more. Should be solid now. 1790*2d1272b8SAndroid Build Coastguard Worker- Implement get_glyph_name() for hb-ot-font. 1791*2d1272b8SAndroid Build Coastguard Worker- Misc fixes. 1792*2d1272b8SAndroid Build Coastguard Worker 1793*2d1272b8SAndroid Build Coastguard Worker 1794*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 1.6.2 1795*2d1272b8SAndroid Build Coastguard WorkerMonday, October 23nd, 2017 1796*2d1272b8SAndroid Build Coastguard Worker==================================== 1797*2d1272b8SAndroid Build Coastguard Worker 1798*2d1272b8SAndroid Build Coastguard Worker- Yesterday's release had a bad crasher; don't use it. That's what 1799*2d1272b8SAndroid Build Coastguard Worker happens when one works on Sunday... 1800*2d1272b8SAndroid Build Coastguard Worker https://github.com/harfbuzz/harfbuzz/issues/578 1801*2d1272b8SAndroid Build Coastguard Worker- Build fixes for FreeBSD and Chrome Android. 1802*2d1272b8SAndroid Build Coastguard Worker 1803*2d1272b8SAndroid Build Coastguard Worker 1804*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 1.6.1 1805*2d1272b8SAndroid Build Coastguard WorkerSunday, October 22nd, 2017 1806*2d1272b8SAndroid Build Coastguard Worker==================================== 1807*2d1272b8SAndroid Build Coastguard Worker 1808*2d1272b8SAndroid Build Coastguard Worker- Don't skip over COMBINING GRAPHEME JOINER when ligating, etc. 1809*2d1272b8SAndroid Build Coastguard Worker To be refined: https://github.com/harfbuzz/harfbuzz/issues/554 1810*2d1272b8SAndroid Build Coastguard Worker- Faster hb_set_t implementation. 1811*2d1272b8SAndroid Build Coastguard Worker- Don't use deprecated ICU API. 1812*2d1272b8SAndroid Build Coastguard Worker- Fix undefined-behavior in Myanmar shaper, introduced in 1.6.0 1813*2d1272b8SAndroid Build Coastguard Worker- Deprecated API: 1814*2d1272b8SAndroid Build Coastguard Worker hb_set_invert() 1815*2d1272b8SAndroid Build Coastguard Worker 1816*2d1272b8SAndroid Build Coastguard Worker 1817*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 1.6.0 1818*2d1272b8SAndroid Build Coastguard WorkerFriday, October the 13th, 2017 1819*2d1272b8SAndroid Build Coastguard Worker==================================== 1820*2d1272b8SAndroid Build Coastguard Worker 1821*2d1272b8SAndroid Build Coastguard Worker- Update to Unicode 10. 1822*2d1272b8SAndroid Build Coastguard Worker 1823*2d1272b8SAndroid Build Coastguard Worker- Various Indic and Universal Shaping Engine fixes as a result of 1824*2d1272b8SAndroid Build Coastguard Worker HarfBuzz Hackfest with Jonathan Kew at Web Engines Hackfest at 1825*2d1272b8SAndroid Build Coastguard Worker the Igalia offices in A Coruña, Spain. Thanks Igalia for having 1826*2d1272b8SAndroid Build Coastguard Worker us! 1827*2d1272b8SAndroid Build Coastguard Worker 1828*2d1272b8SAndroid Build Coastguard Worker- Implement Unicode Arabic Mark Ordering Algorithm UTR#53. 1829*2d1272b8SAndroid Build Coastguard Worker 1830*2d1272b8SAndroid Build Coastguard Worker- Implement optical sizing / tracking in CoreText backend, using 1831*2d1272b8SAndroid Build Coastguard Worker new API hb_font_set_ptem(). 1832*2d1272b8SAndroid Build Coastguard Worker 1833*2d1272b8SAndroid Build Coastguard Worker- Allow notifying hb_font_t that underlying FT_Face changed sizing, 1834*2d1272b8SAndroid Build Coastguard Worker using new API hb_ft_font_changed(). 1835*2d1272b8SAndroid Build Coastguard Worker 1836*2d1272b8SAndroid Build Coastguard Worker- More Graphite backend RTL fixes. 1837*2d1272b8SAndroid Build Coastguard Worker 1838*2d1272b8SAndroid Build Coastguard Worker- Fix caching of variable font shaping plans. 1839*2d1272b8SAndroid Build Coastguard Worker 1840*2d1272b8SAndroid Build Coastguard Worker- hb-view / hb-shape now accept following new arguments: 1841*2d1272b8SAndroid Build Coastguard Worker 1842*2d1272b8SAndroid Build Coastguard Worker o --unicodes: takes a list of hex numbers that represent Unicode 1843*2d1272b8SAndroid Build Coastguard Worker codepoints. 1844*2d1272b8SAndroid Build Coastguard Worker 1845*2d1272b8SAndroid Build Coastguard WorkerNew API: 1846*2d1272b8SAndroid Build Coastguard Worker+hb_face_get_table_tags() 1847*2d1272b8SAndroid Build Coastguard Worker+hb_font_set_ptem() 1848*2d1272b8SAndroid Build Coastguard Worker+hb_font_get_ptem() 1849*2d1272b8SAndroid Build Coastguard Worker+hb_ft_font_changed() 1850*2d1272b8SAndroid Build Coastguard Worker 1851*2d1272b8SAndroid Build Coastguard Worker 1852*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 1.5.1 1853*2d1272b8SAndroid Build Coastguard WorkerTuesday, September 5, 2017 1854*2d1272b8SAndroid Build Coastguard Worker==================================== 1855*2d1272b8SAndroid Build Coastguard Worker 1856*2d1272b8SAndroid Build Coastguard Worker- Fix "unsafe-to-break" in fallback shaping and other corner cases. 1857*2d1272b8SAndroid Build Coastguard Worker All our tests pass with --verify now, meaning unsafe-to-break API 1858*2d1272b8SAndroid Build Coastguard Worker works as expected. 1859*2d1272b8SAndroid Build Coastguard Worker- Add --unicodes to hb-view / hb-shape. 1860*2d1272b8SAndroid Build Coastguard Worker- [indic] Treat Consonant_With_Stacker as consonant. This will need 1861*2d1272b8SAndroid Build Coastguard Worker further tweaking. 1862*2d1272b8SAndroid Build Coastguard Worker- hb_buffer_diff() tweaks. 1863*2d1272b8SAndroid Build Coastguard Worker 1864*2d1272b8SAndroid Build Coastguard Worker 1865*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 1.5.0 1866*2d1272b8SAndroid Build Coastguard WorkerWednesday, August 23, 2017 1867*2d1272b8SAndroid Build Coastguard Worker==================================== 1868*2d1272b8SAndroid Build Coastguard Worker 1869*2d1272b8SAndroid Build Coastguard Worker- Misc new API, for appending a buffer to another, and for comparing 1870*2d1272b8SAndroid Build Coastguard Worker contents of two buffers for types of differences. 1871*2d1272b8SAndroid Build Coastguard Worker 1872*2d1272b8SAndroid Build Coastguard Worker- New "unsafe-to-break" API. Can be used to speed up reshaping 1873*2d1272b8SAndroid Build Coastguard Worker in line-breaking situations. Essentially, after shaping, it returns 1874*2d1272b8SAndroid Build Coastguard Worker positions in the input string (some of the cluster boundaries) that 1875*2d1272b8SAndroid Build Coastguard Worker are "safe to break" in that if the text is segmented at that position 1876*2d1272b8SAndroid Build Coastguard Worker and two sides reshaped and concatenated, the shaping result is 1877*2d1272b8SAndroid Build Coastguard Worker exactly the same as shaping the text in one piece. 1878*2d1272b8SAndroid Build Coastguard Worker 1879*2d1272b8SAndroid Build Coastguard Worker hb-view and hb-shape and hb-shape now take --verify, which verifies 1880*2d1272b8SAndroid Build Coastguard Worker the above property. 1881*2d1272b8SAndroid Build Coastguard Worker 1882*2d1272b8SAndroid Build Coastguard Worker Some corner cases of the implementation are still not quite working. 1883*2d1272b8SAndroid Build Coastguard Worker Those will be fixed in subsequent releases. 1884*2d1272b8SAndroid Build Coastguard Worker 1885*2d1272b8SAndroid Build Coastguard Worker- New API: 1886*2d1272b8SAndroid Build Coastguard Worker 1887*2d1272b8SAndroid Build Coastguard Workerhb_buffer_append() 1888*2d1272b8SAndroid Build Coastguard Worker 1889*2d1272b8SAndroid Build Coastguard Workerhb_glyph_flags_t 1890*2d1272b8SAndroid Build Coastguard WorkerHB_GLYPH_FLAG_UNSAFE_TO_BREAK 1891*2d1272b8SAndroid Build Coastguard WorkerHB_GLYPH_FLAG_DEFINED 1892*2d1272b8SAndroid Build Coastguard Workerhb_glyph_info_get_glyph_flags() 1893*2d1272b8SAndroid Build Coastguard Worker 1894*2d1272b8SAndroid Build Coastguard WorkerHB_BUFFER_SERIALIZE_FLAG_GLYPH_FLAGS 1895*2d1272b8SAndroid Build Coastguard Worker 1896*2d1272b8SAndroid Build Coastguard Workerhb_buffer_diff_flags_t 1897*2d1272b8SAndroid Build Coastguard WorkerHB_BUFFER_DIFF_FLAG_EQUAL 1898*2d1272b8SAndroid Build Coastguard WorkerHB_BUFFER_DIFF_FLAG_CONTENT_TYPE_MISMATCH 1899*2d1272b8SAndroid Build Coastguard WorkerHB_BUFFER_DIFF_FLAG_LENGTH_MISMATCH 1900*2d1272b8SAndroid Build Coastguard WorkerHB_BUFFER_DIFF_FLAG_NOTDEF_PRESENT 1901*2d1272b8SAndroid Build Coastguard WorkerHB_BUFFER_DIFF_FLAG_DOTTED_CIRCLE_PRESENT 1902*2d1272b8SAndroid Build Coastguard WorkerHB_BUFFER_DIFF_FLAG_CODEPOINT_MISMATCH 1903*2d1272b8SAndroid Build Coastguard WorkerHB_BUFFER_DIFF_FLAG_CLUSTER_MISMATCH 1904*2d1272b8SAndroid Build Coastguard WorkerHB_BUFFER_DIFF_FLAG_GLYPH_FLAGS_MISMATCH 1905*2d1272b8SAndroid Build Coastguard WorkerHB_BUFFER_DIFF_FLAG_POSITION_MISMATCH 1906*2d1272b8SAndroid Build Coastguard Workerhb_buffer_diff 1907*2d1272b8SAndroid Build Coastguard Worker 1908*2d1272b8SAndroid Build Coastguard Worker 1909*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 1.4.8 1910*2d1272b8SAndroid Build Coastguard WorkerTuesday, August 8, 2017 1911*2d1272b8SAndroid Build Coastguard Worker==================================== 1912*2d1272b8SAndroid Build Coastguard Worker 1913*2d1272b8SAndroid Build Coastguard Worker- Major fix to avar table handling. 1914*2d1272b8SAndroid Build Coastguard Worker- Rename hb-shape --show-message to --trace. 1915*2d1272b8SAndroid Build Coastguard Worker- Build fixes. 1916*2d1272b8SAndroid Build Coastguard Worker 1917*2d1272b8SAndroid Build Coastguard Worker 1918*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 1.4.7 1919*2d1272b8SAndroid Build Coastguard WorkerTuesday, July 18, 2017 1920*2d1272b8SAndroid Build Coastguard Worker==================================== 1921*2d1272b8SAndroid Build Coastguard Worker 1922*2d1272b8SAndroid Build Coastguard Worker- Multiple Indic, Tibetan, and Cham fixes. 1923*2d1272b8SAndroid Build Coastguard Worker- CoreText: Allow disabling kerning. 1924*2d1272b8SAndroid Build Coastguard Worker- Adjust Arabic feature order again. 1925*2d1272b8SAndroid Build Coastguard Worker- Misc build fixes. 1926*2d1272b8SAndroid Build Coastguard Worker 1927*2d1272b8SAndroid Build Coastguard Worker 1928*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 1.4.6 1929*2d1272b8SAndroid Build Coastguard WorkerSunday, April 23, 2017 1930*2d1272b8SAndroid Build Coastguard Worker==================================== 1931*2d1272b8SAndroid Build Coastguard Worker 1932*2d1272b8SAndroid Build Coastguard Worker- Graphite2: Fix RTL positioning issue. 1933*2d1272b8SAndroid Build Coastguard Worker- Backlist GDEF of more versions of Padauk and Tahoma. 1934*2d1272b8SAndroid Build Coastguard Worker- New, experimental, cmake alternative build system. 1935*2d1272b8SAndroid Build Coastguard Worker 1936*2d1272b8SAndroid Build Coastguard Worker 1937*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 1.4.5 1938*2d1272b8SAndroid Build Coastguard WorkerFriday, March 10, 2017 1939*2d1272b8SAndroid Build Coastguard Worker==================================== 1940*2d1272b8SAndroid Build Coastguard Worker 1941*2d1272b8SAndroid Build Coastguard Worker- Revert "Fix Context lookup application when moving back after a glyph..." 1942*2d1272b8SAndroid Build Coastguard Worker This introduced memory access problems. To be fixed properly soon. 1943*2d1272b8SAndroid Build Coastguard Worker 1944*2d1272b8SAndroid Build Coastguard Worker 1945*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 1.4.4 1946*2d1272b8SAndroid Build Coastguard WorkerSunday, March 5, 2017 1947*2d1272b8SAndroid Build Coastguard Worker==================================== 1948*2d1272b8SAndroid Build Coastguard Worker 1949*2d1272b8SAndroid Build Coastguard Worker- Fix Context lookup application when moving back after a glyph deletion. 1950*2d1272b8SAndroid Build Coastguard Worker- Fix buffer-overrun in Bengali. 1951*2d1272b8SAndroid Build Coastguard Worker 1952*2d1272b8SAndroid Build Coastguard Worker 1953*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 1.4.3 1954*2d1272b8SAndroid Build Coastguard WorkerSaturday, February 25, 2017 1955*2d1272b8SAndroid Build Coastguard Worker==================================== 1956*2d1272b8SAndroid Build Coastguard Worker 1957*2d1272b8SAndroid Build Coastguard Worker- Route Adlam script to Arabic shaper. 1958*2d1272b8SAndroid Build Coastguard Worker- Misc fixes. 1959*2d1272b8SAndroid Build Coastguard Worker- New API: 1960*2d1272b8SAndroid Build Coastguard Worker hb_font_set_face() 1961*2d1272b8SAndroid Build Coastguard Worker- Deprecate API: 1962*2d1272b8SAndroid Build Coastguard Worker hb_graphite2_font_get_gr_font() 1963*2d1272b8SAndroid Build Coastguard Worker 1964*2d1272b8SAndroid Build Coastguard Worker 1965*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 1.4.2 1966*2d1272b8SAndroid Build Coastguard WorkerMonday, January 23, 2017 1967*2d1272b8SAndroid Build Coastguard Worker==================================== 1968*2d1272b8SAndroid Build Coastguard Worker 1969*2d1272b8SAndroid Build Coastguard Worker- Implement OpenType Font Variation tables avar/fvar/HVAR/VVAR. 1970*2d1272b8SAndroid Build Coastguard Worker- hb-shape and hb-view now accept --variations. 1971*2d1272b8SAndroid Build Coastguard Worker- New API: 1972*2d1272b8SAndroid Build Coastguard Worker 1973*2d1272b8SAndroid Build Coastguard Workerhb_variation_t 1974*2d1272b8SAndroid Build Coastguard Workerhb_variation_from_string() 1975*2d1272b8SAndroid Build Coastguard Workerhb_variation_to_string() 1976*2d1272b8SAndroid Build Coastguard Worker 1977*2d1272b8SAndroid Build Coastguard Workerhb_font_set_variations() 1978*2d1272b8SAndroid Build Coastguard Workerhb_font_set_var_coords_design() 1979*2d1272b8SAndroid Build Coastguard Workerhb_font_get_var_coords_normalized() 1980*2d1272b8SAndroid Build Coastguard Worker 1981*2d1272b8SAndroid Build Coastguard Workerhb-ot-var.h: 1982*2d1272b8SAndroid Build Coastguard Workerhb_ot_var_axis_t 1983*2d1272b8SAndroid Build Coastguard Workerhb_ot_var_has_data() 1984*2d1272b8SAndroid Build Coastguard Workerhb_ot_var_get_axis_count() 1985*2d1272b8SAndroid Build Coastguard Workerhb_ot_var_get_axes() 1986*2d1272b8SAndroid Build Coastguard Workerhb_ot_var_find_axis() 1987*2d1272b8SAndroid Build Coastguard Workerhb_ot_var_normalize_variations() 1988*2d1272b8SAndroid Build Coastguard Workerhb_ot_var_normalize_coords() 1989*2d1272b8SAndroid Build Coastguard Worker 1990*2d1272b8SAndroid Build Coastguard Worker- MVAR to be implemented later. Access to named instances to be 1991*2d1272b8SAndroid Build Coastguard Worker implemented later as well. 1992*2d1272b8SAndroid Build Coastguard Worker 1993*2d1272b8SAndroid Build Coastguard Worker- Misc fixes. 1994*2d1272b8SAndroid Build Coastguard Worker 1995*2d1272b8SAndroid Build Coastguard Worker 1996*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 1.4.1 1997*2d1272b8SAndroid Build Coastguard WorkerThursday, January 5, 2017 1998*2d1272b8SAndroid Build Coastguard Worker==================================== 1999*2d1272b8SAndroid Build Coastguard Worker 2000*2d1272b8SAndroid Build Coastguard Worker- Always build and use UCDN for Unicode data by default. 2001*2d1272b8SAndroid Build Coastguard Worker Reduces dependence on version of Unicode data in glib, 2002*2d1272b8SAndroid Build Coastguard Worker specially in the Windows bundles we are shipping, which 2003*2d1272b8SAndroid Build Coastguard Worker have very old glib. 2004*2d1272b8SAndroid Build Coastguard Worker 2005*2d1272b8SAndroid Build Coastguard Worker 2006*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 1.4.0 2007*2d1272b8SAndroid Build Coastguard WorkerThursday, January 5, 2017 2008*2d1272b8SAndroid Build Coastguard Worker==================================== 2009*2d1272b8SAndroid Build Coastguard Worker 2010*2d1272b8SAndroid Build Coastguard Worker- Merged "OpenType GX" branch which adds core of support for 2011*2d1272b8SAndroid Build Coastguard Worker OpenType 1.8 Font Variations. To that extent, the relevant 2012*2d1272b8SAndroid Build Coastguard Worker new API is: 2013*2d1272b8SAndroid Build Coastguard Worker 2014*2d1272b8SAndroid Build Coastguard WorkerNew API: 2015*2d1272b8SAndroid Build Coastguard Workerhb_font_set_var_coords_normalized() 2016*2d1272b8SAndroid Build Coastguard Worker 2017*2d1272b8SAndroid Build Coastguard Worker with supporting API: 2018*2d1272b8SAndroid Build Coastguard Worker 2019*2d1272b8SAndroid Build Coastguard WorkerNew API: 2020*2d1272b8SAndroid Build Coastguard WorkerHB_OT_LAYOUT_NO_VARIATIONS_INDEX 2021*2d1272b8SAndroid Build Coastguard Workerhb_ot_layout_table_find_feature_variations() 2022*2d1272b8SAndroid Build Coastguard Workerhb_ot_layout_feature_with_variations_get_lookups() 2023*2d1272b8SAndroid Build Coastguard Workerhb_shape_plan_create2() 2024*2d1272b8SAndroid Build Coastguard Workerhb_shape_plan_create_cached2() 2025*2d1272b8SAndroid Build Coastguard Worker 2026*2d1272b8SAndroid Build Coastguard Worker Currently variations in GSUB/GPOS/GDEF are fully supported, 2027*2d1272b8SAndroid Build Coastguard Worker and no other tables are supported. In particular, fvar/avar 2028*2d1272b8SAndroid Build Coastguard Worker are NOT supported, hence the hb_font_set_var_coords_normalized() 2029*2d1272b8SAndroid Build Coastguard Worker taking normalized coordinates. API to take design coordinates 2030*2d1272b8SAndroid Build Coastguard Worker will be added in the future. 2031*2d1272b8SAndroid Build Coastguard Worker 2032*2d1272b8SAndroid Build Coastguard Worker HVAR/VVAR/MVAR support will also be added to hb-ot-font in the 2033*2d1272b8SAndroid Build Coastguard Worker future. 2034*2d1272b8SAndroid Build Coastguard Worker 2035*2d1272b8SAndroid Build Coastguard Worker- Fix regression in GDEF glyph class processing. 2036*2d1272b8SAndroid Build Coastguard Worker- Add decompositions for Chakma, Limbu, and Balinese in USE shaper. 2037*2d1272b8SAndroid Build Coastguard Worker- Misc fixes. 2038*2d1272b8SAndroid Build Coastguard Worker 2039*2d1272b8SAndroid Build Coastguard Worker 2040*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 1.3.4 2041*2d1272b8SAndroid Build Coastguard WorkerMonday, December 5, 2016 2042*2d1272b8SAndroid Build Coastguard Worker==================================== 2043*2d1272b8SAndroid Build Coastguard Worker 2044*2d1272b8SAndroid Build Coastguard Worker- Fix vertical glyph origin in hb-ot-font. 2045*2d1272b8SAndroid Build Coastguard Worker- Implement CBDT/CBLC color font glyph extents in hb-ot-font. 2046*2d1272b8SAndroid Build Coastguard Worker 2047*2d1272b8SAndroid Build Coastguard Worker 2048*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 1.3.3 2049*2d1272b8SAndroid Build Coastguard WorkerWednesday, September 28, 2016 2050*2d1272b8SAndroid Build Coastguard Worker==================================== 2051*2d1272b8SAndroid Build Coastguard Worker 2052*2d1272b8SAndroid Build Coastguard Worker- Implement parsing of OpenType MATH table. 2053*2d1272b8SAndroid Build Coastguard WorkerNew API: 2054*2d1272b8SAndroid Build Coastguard WorkerHB_OT_TAG_MATH 2055*2d1272b8SAndroid Build Coastguard WorkerHB_OT_MATH_SCRIPT 2056*2d1272b8SAndroid Build Coastguard Workerhb_ot_math_constant_t 2057*2d1272b8SAndroid Build Coastguard Workerhb_ot_math_kern_t 2058*2d1272b8SAndroid Build Coastguard Workerhb_ot_math_glyph_variant_t 2059*2d1272b8SAndroid Build Coastguard Workerhb_ot_math_glyph_part_flags_t 2060*2d1272b8SAndroid Build Coastguard Workerhb_ot_math_glyph_part_t 2061*2d1272b8SAndroid Build Coastguard Workerhb_ot_math_has_data 2062*2d1272b8SAndroid Build Coastguard Workerhb_ot_math_get_constant 2063*2d1272b8SAndroid Build Coastguard Workerhb_ot_math_get_glyph_italics_correction 2064*2d1272b8SAndroid Build Coastguard Workerhb_ot_math_get_glyph_top_accent_attachment 2065*2d1272b8SAndroid Build Coastguard Workerhb_ot_math_get_glyph_kerning 2066*2d1272b8SAndroid Build Coastguard Workerhb_ot_math_is_glyph_extended_shape 2067*2d1272b8SAndroid Build Coastguard Workerhb_ot_math_get_glyph_variants 2068*2d1272b8SAndroid Build Coastguard Workerhb_ot_math_get_min_connector_overlap 2069*2d1272b8SAndroid Build Coastguard Workerhb_ot_math_get_glyph_assembly 2070*2d1272b8SAndroid Build Coastguard Worker 2071*2d1272b8SAndroid Build Coastguard Worker 2072*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 1.3.2 2073*2d1272b8SAndroid Build Coastguard WorkerWednesday, September 27, 2016 2074*2d1272b8SAndroid Build Coastguard Worker==================================== 2075*2d1272b8SAndroid Build Coastguard Worker 2076*2d1272b8SAndroid Build Coastguard Worker- Fix build of hb-coretext on older OS X versions. 2077*2d1272b8SAndroid Build Coastguard Worker 2078*2d1272b8SAndroid Build Coastguard Worker 2079*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 1.3.1 2080*2d1272b8SAndroid Build Coastguard WorkerWednesday, September 7, 2016 2081*2d1272b8SAndroid Build Coastguard Worker==================================== 2082*2d1272b8SAndroid Build Coastguard Worker 2083*2d1272b8SAndroid Build Coastguard Worker- Blacklist bad GDEF of more fonts (Padauk). 2084*2d1272b8SAndroid Build Coastguard Worker- More CoreText backend crash fixes with OS X 10.9.5. 2085*2d1272b8SAndroid Build Coastguard Worker- Misc fixes. 2086*2d1272b8SAndroid Build Coastguard Worker 2087*2d1272b8SAndroid Build Coastguard Worker 2088*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 1.3.0 2089*2d1272b8SAndroid Build Coastguard WorkerThursday, July 21, 2016 2090*2d1272b8SAndroid Build Coastguard Worker==================================== 2091*2d1272b8SAndroid Build Coastguard Worker 2092*2d1272b8SAndroid Build Coastguard Worker- Update to Unicode 9.0.0 2093*2d1272b8SAndroid Build Coastguard Worker- Move Javanese from Indic shaper to Universal Shaping Engine. 2094*2d1272b8SAndroid Build Coastguard Worker- Allow MultipleSubst to delete a glyph (matching Windows engine). 2095*2d1272b8SAndroid Build Coastguard Worker- Update Universal Shaping Engine to latest draft from Microsoft. 2096*2d1272b8SAndroid Build Coastguard Worker- DirectWrite backend improvements. Note: this backend is for testing ONLY. 2097*2d1272b8SAndroid Build Coastguard Worker- CoreText backend improvements with unreachable fonts. 2098*2d1272b8SAndroid Build Coastguard Worker- Implement symbol fonts (cmap 3.0.0) in hb-ft and hb-ot-font. 2099*2d1272b8SAndroid Build Coastguard Worker- Blacklist bad GDEF of more fonts (Tahoma & others). 2100*2d1272b8SAndroid Build Coastguard Worker- Misc fixes. 2101*2d1272b8SAndroid Build Coastguard Worker 2102*2d1272b8SAndroid Build Coastguard Worker 2103*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 1.2.7 2104*2d1272b8SAndroid Build Coastguard WorkerMonday, May 2, 2016 2105*2d1272b8SAndroid Build Coastguard Worker==================================== 2106*2d1272b8SAndroid Build Coastguard Worker 2107*2d1272b8SAndroid Build Coastguard Worker- Blacklist another version of Times New Roman (Bold) Italic from Windows 7. 2108*2d1272b8SAndroid Build Coastguard Worker- Fix Mongolian Free Variation Selectors shaping with certain fonts. 2109*2d1272b8SAndroid Build Coastguard Worker- Fix Tibetan shorthand contractions shaping. 2110*2d1272b8SAndroid Build Coastguard Worker- Improved list of language tag mappings. 2111*2d1272b8SAndroid Build Coastguard Worker- Unbreak build on Windows CE. 2112*2d1272b8SAndroid Build Coastguard Worker- Make 'glyf' table loading lazy in hb-ot-font. 2113*2d1272b8SAndroid Build Coastguard Worker 2114*2d1272b8SAndroid Build Coastguard Worker 2115*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 1.2.6 2116*2d1272b8SAndroid Build Coastguard WorkerFriday, April 8, 2016 2117*2d1272b8SAndroid Build Coastguard Worker==================================== 2118*2d1272b8SAndroid Build Coastguard Worker 2119*2d1272b8SAndroid Build Coastguard Worker- Blacklist GDEF table of another set of Times New Roman (Bold) Italic. 2120*2d1272b8SAndroid Build Coastguard Worker- DirectWrite backend improvements. Note: DirectWrite backend is 2121*2d1272b8SAndroid Build Coastguard Worker exclusively for our internal testing and should NOT be used in any 2122*2d1272b8SAndroid Build Coastguard Worker production system whatsoever. 2123*2d1272b8SAndroid Build Coastguard Worker 2124*2d1272b8SAndroid Build Coastguard Worker 2125*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 1.2.5 2126*2d1272b8SAndroid Build Coastguard WorkerMonday, April 4, 2016 2127*2d1272b8SAndroid Build Coastguard Worker==================================== 2128*2d1272b8SAndroid Build Coastguard Worker 2129*2d1272b8SAndroid Build Coastguard Worker- Fix GDEF mark-filtering-set, which was broken in 1.2.3. 2130*2d1272b8SAndroid Build Coastguard Worker 2131*2d1272b8SAndroid Build Coastguard Worker 2132*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 1.2.4 2133*2d1272b8SAndroid Build Coastguard WorkerThursday, March 17, 2016 2134*2d1272b8SAndroid Build Coastguard Worker==================================== 2135*2d1272b8SAndroid Build Coastguard Worker 2136*2d1272b8SAndroid Build Coastguard Worker- Synthesize GDEF glyph class for any glyph that does not have one in GDEF. 2137*2d1272b8SAndroid Build Coastguard Worker I really hope we don't discover broken fonts that shape badly with this 2138*2d1272b8SAndroid Build Coastguard Worker change. 2139*2d1272b8SAndroid Build Coastguard Worker- Misc build and other minor fixes. 2140*2d1272b8SAndroid Build Coastguard Worker- API changes: 2141*2d1272b8SAndroid Build Coastguard Worker - Added HB_NDEBUG. It's fine for production systems to define this to 2142*2d1272b8SAndroid Build Coastguard Worker disable high-overhead debugging checks. However, I also reduced the 2143*2d1272b8SAndroid Build Coastguard Worker overhead of those checks, so it's a non-issue right now. You can 2144*2d1272b8SAndroid Build Coastguard Worker forget it. Just not defining anything at all is fine. 2145*2d1272b8SAndroid Build Coastguard Worker 2146*2d1272b8SAndroid Build Coastguard Worker 2147*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 1.2.3 2148*2d1272b8SAndroid Build Coastguard WorkerThursday, February 25, 2016 2149*2d1272b8SAndroid Build Coastguard Worker==================================== 2150*2d1272b8SAndroid Build Coastguard Worker 2151*2d1272b8SAndroid Build Coastguard Worker- Blacklist GDEF table of certain versions of Times New Roman (Bold) Italic, 2152*2d1272b8SAndroid Build Coastguard Worker due to bug in glyph class of ASCII double-quote character. This should 2153*2d1272b8SAndroid Build Coastguard Worker address "regression" introduced in 1.2.0 when we switched mark zeroing 2154*2d1272b8SAndroid Build Coastguard Worker in most shapers from BY_UNICODE_LATE to BY_GDEF_LATE. 2155*2d1272b8SAndroid Build Coastguard Worker This fourth release in a week should finally stabilize things... 2156*2d1272b8SAndroid Build Coastguard Worker 2157*2d1272b8SAndroid Build Coastguard Worker- hb-ot-font's get_glyph() implementation saw some optimizations. Though, 2158*2d1272b8SAndroid Build Coastguard Worker might be really hard to measure in real-world situations. 2159*2d1272b8SAndroid Build Coastguard Worker 2160*2d1272b8SAndroid Build Coastguard Worker- Also, two rather small API changes: 2161*2d1272b8SAndroid Build Coastguard Worker 2162*2d1272b8SAndroid Build Coastguard WorkerWe now disable some time-consuming internal bookkeeping if built with NDEBUG 2163*2d1272b8SAndroid Build Coastguard Workerdefined. This is a first time that we use NDEBUG to disable debug code. If 2164*2d1272b8SAndroid Build Coastguard Workerthere exist production systems that do NOT want to enable NDEBUG, please let 2165*2d1272b8SAndroid Build Coastguard Workerme know and I'll add HB_NDEBUG. 2166*2d1272b8SAndroid Build Coastguard Worker 2167*2d1272b8SAndroid Build Coastguard WorkerAdded get_nominal_glyph() and get_variation_glyph() instead of get_glyph() 2168*2d1272b8SAndroid Build Coastguard Worker 2169*2d1272b8SAndroid Build Coastguard WorkerNew API: 2170*2d1272b8SAndroid Build Coastguard Worker- hb_font_get_nominal_glyph_func_t 2171*2d1272b8SAndroid Build Coastguard Worker- hb_font_get_variation_glyph_func_t 2172*2d1272b8SAndroid Build Coastguard Worker- hb_font_funcs_set_nominal_glyph_func() 2173*2d1272b8SAndroid Build Coastguard Worker- hb_font_funcs_set_variation_glyph_func() 2174*2d1272b8SAndroid Build Coastguard Worker- hb_font_get_nominal_glyph() 2175*2d1272b8SAndroid Build Coastguard Worker- hb_font_get_variation_glyph() 2176*2d1272b8SAndroid Build Coastguard Worker 2177*2d1272b8SAndroid Build Coastguard WorkerDeprecated API: 2178*2d1272b8SAndroid Build Coastguard Worker- hb_font_get_glyph_func_t 2179*2d1272b8SAndroid Build Coastguard Worker- hb_font_funcs_set_glyph_func() 2180*2d1272b8SAndroid Build Coastguard Worker 2181*2d1272b8SAndroid Build Coastguard WorkerClients that implement their own font-funcs are encouraged to replace 2182*2d1272b8SAndroid Build Coastguard Workertheir get_glyph() implementation with a get_nominal_glyph() and 2183*2d1272b8SAndroid Build Coastguard Workerget_variation_glyph() pair. The variation version can assume that 2184*2d1272b8SAndroid Build Coastguard Workervariation_selector argument is not zero. Old (deprecated) functions 2185*2d1272b8SAndroid Build Coastguard Workerwill continue working indefinitely using internal gymnastics; it is 2186*2d1272b8SAndroid Build Coastguard Workerjust more efficient to use the new functions. 2187*2d1272b8SAndroid Build Coastguard Worker 2188*2d1272b8SAndroid Build Coastguard Worker 2189*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 1.2.2 2190*2d1272b8SAndroid Build Coastguard WorkerWednesday, February 24, 2016 2191*2d1272b8SAndroid Build Coastguard Worker==================================== 2192*2d1272b8SAndroid Build Coastguard Worker 2193*2d1272b8SAndroid Build Coastguard Worker- Fix regression with mark positioning with fonts that have 2194*2d1272b8SAndroid Build Coastguard Worker non-zero mark advances. This was introduced in 1.2.0 while 2195*2d1272b8SAndroid Build Coastguard Worker trying to make mark and cursive attachments to work together. 2196*2d1272b8SAndroid Build Coastguard Worker I have partially reverted that, so this version is much more 2197*2d1272b8SAndroid Build Coastguard Worker like what we had before. All clients who updated to 1.2.0 2198*2d1272b8SAndroid Build Coastguard Worker should update to this version. 2199*2d1272b8SAndroid Build Coastguard Worker 2200*2d1272b8SAndroid Build Coastguard Worker 2201*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 1.2.1 2202*2d1272b8SAndroid Build Coastguard WorkerTuesday, February 23, 2016 2203*2d1272b8SAndroid Build Coastguard Worker==================================== 2204*2d1272b8SAndroid Build Coastguard Worker 2205*2d1272b8SAndroid Build Coastguard Worker- CoreText: Fix bug with wrong scale if font scale was changed later. 2206*2d1272b8SAndroid Build Coastguard Worker https://github.com/libass/libass/issues/212 2207*2d1272b8SAndroid Build Coastguard Worker- CoreText: Drastically speed up font initialization. 2208*2d1272b8SAndroid Build Coastguard Worker- CoreText: Fix tiny leak. 2209*2d1272b8SAndroid Build Coastguard Worker- Group ZWJ/ZWNJ with previous syllable under cluster-level=0. 2210*2d1272b8SAndroid Build Coastguard Worker https://github.com/harfbuzz/harfbuzz/issues/217 2211*2d1272b8SAndroid Build Coastguard Worker- Add test/shaping/README.md about how to add tests to the suite. 2212*2d1272b8SAndroid Build Coastguard Worker 2213*2d1272b8SAndroid Build Coastguard Worker 2214*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 1.2.0 2215*2d1272b8SAndroid Build Coastguard WorkerFriday, February 19, 2016 2216*2d1272b8SAndroid Build Coastguard Worker==================================== 2217*2d1272b8SAndroid Build Coastguard Worker 2218*2d1272b8SAndroid Build Coastguard Worker- Fix various issues (hangs mostly) in case of memory allocation failure. 2219*2d1272b8SAndroid Build Coastguard Worker- Change mark zeroing types of most shapers from BY_UNICODE_LATE to 2220*2d1272b8SAndroid Build Coastguard Worker BY_GDEF_LATE. This seems to be what Uniscribe does. 2221*2d1272b8SAndroid Build Coastguard Worker- Change mark zeroing of USE shaper from NONE to BY_GDEF_EARLY. That's 2222*2d1272b8SAndroid Build Coastguard Worker what Windows does. 2223*2d1272b8SAndroid Build Coastguard Worker- Allow GPOS cursive connection on marks, and fix the interaction with 2224*2d1272b8SAndroid Build Coastguard Worker mark attachment. This work resulted in some changes to how mark 2225*2d1272b8SAndroid Build Coastguard Worker attachments work. See: 2226*2d1272b8SAndroid Build Coastguard Worker https://github.com/harfbuzz/harfbuzz/issues/211 2227*2d1272b8SAndroid Build Coastguard Worker https://github.com/harfbuzz/harfbuzz/commit/86c68c7a2c971efe8e35b1f1bd99401dc8b688d2 2228*2d1272b8SAndroid Build Coastguard Worker- Graphite2 shaper: improved negative advance handling (eg. Nastaliq). 2229*2d1272b8SAndroid Build Coastguard Worker- Add nmake-based build system for Windows. 2230*2d1272b8SAndroid Build Coastguard Worker- Minor speedup. 2231*2d1272b8SAndroid Build Coastguard Worker- Misc. improvements. 2232*2d1272b8SAndroid Build Coastguard Worker 2233*2d1272b8SAndroid Build Coastguard Worker 2234*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 1.1.3 2235*2d1272b8SAndroid Build Coastguard WorkerMonday, January 11, 2016 2236*2d1272b8SAndroid Build Coastguard Worker==================================== 2237*2d1272b8SAndroid Build Coastguard Worker 2238*2d1272b8SAndroid Build Coastguard Worker- Ported Indic shaper to Unicode 8.0 data. 2239*2d1272b8SAndroid Build Coastguard Worker- Universal Shaping Engine fixes. 2240*2d1272b8SAndroid Build Coastguard Worker- Speed up CoreText shaper when font fallback happens in CoreText. 2241*2d1272b8SAndroid Build Coastguard Worker- Documentation improvements, thanks to Khaled Hosny. 2242*2d1272b8SAndroid Build Coastguard Worker- Very rough directwrite shaper for testing, thanks to Ebrahim Byagowi. 2243*2d1272b8SAndroid Build Coastguard Worker- Misc bug fixes. 2244*2d1272b8SAndroid Build Coastguard Worker- New API: 2245*2d1272b8SAndroid Build Coastguard Worker 2246*2d1272b8SAndroid Build Coastguard Worker * Font extents: 2247*2d1272b8SAndroid Build Coastguard Worker hb_font_extents_t 2248*2d1272b8SAndroid Build Coastguard Worker hb_font_get_font_extents_func_t 2249*2d1272b8SAndroid Build Coastguard Worker hb_font_get_font_h_extents_func_t 2250*2d1272b8SAndroid Build Coastguard Worker hb_font_get_font_v_extents_func_t 2251*2d1272b8SAndroid Build Coastguard Worker hb_font_funcs_set_font_h_extents_func 2252*2d1272b8SAndroid Build Coastguard Worker hb_font_funcs_set_font_v_extents_func 2253*2d1272b8SAndroid Build Coastguard Worker hb_font_get_h_extents 2254*2d1272b8SAndroid Build Coastguard Worker hb_font_get_v_extents 2255*2d1272b8SAndroid Build Coastguard Worker hb_font_get_extents_for_direction 2256*2d1272b8SAndroid Build Coastguard Worker 2257*2d1272b8SAndroid Build Coastguard Worker * Buffer message (aka debug): 2258*2d1272b8SAndroid Build Coastguard Worker hb_buffer_message_func_t 2259*2d1272b8SAndroid Build Coastguard Worker hb_buffer_set_message_func() 2260*2d1272b8SAndroid Build Coastguard Worker Actual message protocol to be fleshed out later. 2261*2d1272b8SAndroid Build Coastguard Worker 2262*2d1272b8SAndroid Build Coastguard Worker 2263*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 1.1.2 2264*2d1272b8SAndroid Build Coastguard WorkerWednesday, November 26, 2015 2265*2d1272b8SAndroid Build Coastguard Worker==================================== 2266*2d1272b8SAndroid Build Coastguard Worker 2267*2d1272b8SAndroid Build Coastguard Worker- Fix badly-broken fallback shaper that affected terminology. 2268*2d1272b8SAndroid Build Coastguard Worker https://github.com/harfbuzz/harfbuzz/issues/187 2269*2d1272b8SAndroid Build Coastguard Worker- Fix y_scaling in Graphite shaper. 2270*2d1272b8SAndroid Build Coastguard Worker- API changes: 2271*2d1272b8SAndroid Build Coastguard Worker * An unset glyph_h_origin() function in font-funcs now (sensibly) 2272*2d1272b8SAndroid Build Coastguard Worker implies horizontal origin at 0,0. Ie, the nil callback returns 2273*2d1272b8SAndroid Build Coastguard Worker true instead of false. As such, implementations that have a 2274*2d1272b8SAndroid Build Coastguard Worker glyph_h_origin() that simply returns true, can remove that function 2275*2d1272b8SAndroid Build Coastguard Worker with HarfBuzz >= 1.1.2. This results in a tiny speedup. 2276*2d1272b8SAndroid Build Coastguard Worker 2277*2d1272b8SAndroid Build Coastguard Worker 2278*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 1.1.1 2279*2d1272b8SAndroid Build Coastguard WorkerWednesday, November 24, 2015 2280*2d1272b8SAndroid Build Coastguard Worker==================================== 2281*2d1272b8SAndroid Build Coastguard Worker 2282*2d1272b8SAndroid Build Coastguard Worker- Build fixes, specially for hb-coretext. 2283*2d1272b8SAndroid Build Coastguard Worker 2284*2d1272b8SAndroid Build Coastguard Worker 2285*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 1.1.0 2286*2d1272b8SAndroid Build Coastguard WorkerWednesday, November 18, 2015 2287*2d1272b8SAndroid Build Coastguard Worker==================================== 2288*2d1272b8SAndroid Build Coastguard Worker 2289*2d1272b8SAndroid Build Coastguard Worker- Implement 'stch' stretch feature for Syriac Abbreviation Mark. 2290*2d1272b8SAndroid Build Coastguard Worker https://github.com/harfbuzz/harfbuzz/issues/141 2291*2d1272b8SAndroid Build Coastguard Worker- Disable use of decompose_compatibility() callback. 2292*2d1272b8SAndroid Build Coastguard Worker- Implement "shaping" of various Unicode space characters, even 2293*2d1272b8SAndroid Build Coastguard Worker if the font does not support them. 2294*2d1272b8SAndroid Build Coastguard Worker https://github.com/harfbuzz/harfbuzz/issues/153 2295*2d1272b8SAndroid Build Coastguard Worker- If font does not support U+2011 NO-BREAK HYPHEN, fallback to 2296*2d1272b8SAndroid Build Coastguard Worker U+2010 HYPHEN. 2297*2d1272b8SAndroid Build Coastguard Worker- Changes resulting from libFuzzer continuous fuzzing: 2298*2d1272b8SAndroid Build Coastguard Worker * Reject font tables that need more than 8 edits, 2299*2d1272b8SAndroid Build Coastguard Worker * Bound buffer growth during shaping to 32x, 2300*2d1272b8SAndroid Build Coastguard Worker * Fix assertions and other issues at OOM / buffer max-growth. 2301*2d1272b8SAndroid Build Coastguard Worker- Misc fixes and optimizations. 2302*2d1272b8SAndroid Build Coastguard Worker- API changes: 2303*2d1272b8SAndroid Build Coastguard Worker * All fonts created with hb_font_create() now inherit from 2304*2d1272b8SAndroid Build Coastguard Worker (ie. have parent) hb_font_get_empty(). 2305*2d1272b8SAndroid Build Coastguard Worker 2306*2d1272b8SAndroid Build Coastguard Worker 2307*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 1.0.6 2308*2d1272b8SAndroid Build Coastguard WorkerThursday, October 15, 2015 2309*2d1272b8SAndroid Build Coastguard Worker==================================== 2310*2d1272b8SAndroid Build Coastguard Worker 2311*2d1272b8SAndroid Build Coastguard Worker- Reduce max nesting level in OT lookups from 8 to 6. 2312*2d1272b8SAndroid Build Coastguard Worker Should not affect any real font as far as I know. 2313*2d1272b8SAndroid Build Coastguard Worker- Fix memory access issue in ot-font. 2314*2d1272b8SAndroid Build Coastguard Worker- Revert default load-flags of fonts created using hb_ft_font_create() 2315*2d1272b8SAndroid Build Coastguard Worker back to FT_LOAD_DEFAULT|FT_LOAD_NO_HINTING. This was changed in 2316*2d1272b8SAndroid Build Coastguard Worker last release (1.0.5), but caused major issues, so revert. 2317*2d1272b8SAndroid Build Coastguard Worker https://github.com/harfbuzz/harfbuzz/issues/143 2318*2d1272b8SAndroid Build Coastguard Worker 2319*2d1272b8SAndroid Build Coastguard Worker 2320*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 1.0.5 2321*2d1272b8SAndroid Build Coastguard WorkerTuesday, October 13, 2015 2322*2d1272b8SAndroid Build Coastguard Worker==================================== 2323*2d1272b8SAndroid Build Coastguard Worker 2324*2d1272b8SAndroid Build Coastguard Worker- Fix multiple memory access bugs discovered using libFuzzer. 2325*2d1272b8SAndroid Build Coastguard Worker https://github.com/harfbuzz/harfbuzz/issues/139 2326*2d1272b8SAndroid Build Coastguard Worker Everyone should upgrade to this version as soon as possible. 2327*2d1272b8SAndroid Build Coastguard Worker We now have continuous fuzzing set up, to avoid issues like 2328*2d1272b8SAndroid Build Coastguard Worker these creeping in again. 2329*2d1272b8SAndroid Build Coastguard Worker- Misc fixes. 2330*2d1272b8SAndroid Build Coastguard Worker 2331*2d1272b8SAndroid Build Coastguard Worker- New API: 2332*2d1272b8SAndroid Build Coastguard Worker * hb_font_set_parent(). 2333*2d1272b8SAndroid Build Coastguard Worker * hb_ft_font_[sg]et_load_flags() 2334*2d1272b8SAndroid Build Coastguard Worker The default flags for fonts created using hb_ft_font_create() 2335*2d1272b8SAndroid Build Coastguard Worker has changed to default to FT_LOAD_DEFAULT now. Previously it 2336*2d1272b8SAndroid Build Coastguard Worker was defaulting to FT_LOAD_DFEAULT|FT_LOAD_NO_HINTING. 2337*2d1272b8SAndroid Build Coastguard Worker 2338*2d1272b8SAndroid Build Coastguard Worker- API changes: 2339*2d1272b8SAndroid Build Coastguard Worker * Fonts now default to units-per-EM as their scale, instead of 0. 2340*2d1272b8SAndroid Build Coastguard Worker * hb_font_create_sub_font() does NOT make parent font immutable 2341*2d1272b8SAndroid Build Coastguard Worker anymore. hb_font_make_immutable() does. 2342*2d1272b8SAndroid Build Coastguard Worker 2343*2d1272b8SAndroid Build Coastguard Worker 2344*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 1.0.4 2345*2d1272b8SAndroid Build Coastguard WorkerWednesday, September 30, 2015 2346*2d1272b8SAndroid Build Coastguard Worker==================================== 2347*2d1272b8SAndroid Build Coastguard Worker 2348*2d1272b8SAndroid Build Coastguard Worker- Fix minor out-of-bounds read error. 2349*2d1272b8SAndroid Build Coastguard Worker 2350*2d1272b8SAndroid Build Coastguard Worker 2351*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 1.0.3 2352*2d1272b8SAndroid Build Coastguard WorkerTuesday, September 1, 2015 2353*2d1272b8SAndroid Build Coastguard Worker==================================== 2354*2d1272b8SAndroid Build Coastguard Worker 2355*2d1272b8SAndroid Build Coastguard Worker- Start of user documentation, from Simon Cozens! 2356*2d1272b8SAndroid Build Coastguard Worker- Implement glyph_extents() for TrueType fonts in hb-ot-font. 2357*2d1272b8SAndroid Build Coastguard Worker- Improve GPOS cursive attachments with conflicting lookups. 2358*2d1272b8SAndroid Build Coastguard Worker- More fixes for cluster-level = 1. 2359*2d1272b8SAndroid Build Coastguard Worker- Uniscribe positioning fix. 2360*2d1272b8SAndroid Build Coastguard Worker 2361*2d1272b8SAndroid Build Coastguard Worker 2362*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 1.0.2 2363*2d1272b8SAndroid Build Coastguard WorkerWednesday, August 19, 2015 2364*2d1272b8SAndroid Build Coastguard Worker==================================== 2365*2d1272b8SAndroid Build Coastguard Worker 2366*2d1272b8SAndroid Build Coastguard Worker- Fix shaping with cluster-level > 0. 2367*2d1272b8SAndroid Build Coastguard Worker- Fix Uniscribe backend font-size scaling. 2368*2d1272b8SAndroid Build Coastguard Worker- Declare dependencies in harfbuzz.pc. 2369*2d1272b8SAndroid Build Coastguard Worker FreeType is not declared though, to avoid bugs in pkg-config 2370*2d1272b8SAndroid Build Coastguard Worker 0.26 with recursive dependencies. 2371*2d1272b8SAndroid Build Coastguard Worker- Slightly improved debug infrastructure. More to come later. 2372*2d1272b8SAndroid Build Coastguard Worker- Misc build fixes. 2373*2d1272b8SAndroid Build Coastguard Worker 2374*2d1272b8SAndroid Build Coastguard Worker 2375*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 1.0.1 2376*2d1272b8SAndroid Build Coastguard WorkerMonday, July 27, 2015 2377*2d1272b8SAndroid Build Coastguard Worker==================================== 2378*2d1272b8SAndroid Build Coastguard Worker 2379*2d1272b8SAndroid Build Coastguard Worker- Fix out-of-bounds access in USE shaper. 2380*2d1272b8SAndroid Build Coastguard Worker 2381*2d1272b8SAndroid Build Coastguard Worker 2382*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 1.0.0 2383*2d1272b8SAndroid Build Coastguard WorkerSunday, July 26, 2015 2384*2d1272b8SAndroid Build Coastguard Worker==================================== 2385*2d1272b8SAndroid Build Coastguard Worker 2386*2d1272b8SAndroid Build Coastguard Worker- Implement Universal Shaping Engine: 2387*2d1272b8SAndroid Build Coastguard Worker https://www.microsoft.com/typography/OpenTypeDev/USE/intro.htm 2388*2d1272b8SAndroid Build Coastguard Worker http://blogs.windows.com/bloggingwindows/2015/02/23/windows-shapes-the-worlds-languages/ 2389*2d1272b8SAndroid Build Coastguard Worker- Bump version to 1.0.0. The soname was NOT bumped. 2390*2d1272b8SAndroid Build Coastguard Worker 2391*2d1272b8SAndroid Build Coastguard Worker 2392*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 0.9.42 2393*2d1272b8SAndroid Build Coastguard WorkerThursday, July 26, 2015 2394*2d1272b8SAndroid Build Coastguard Worker===================================== 2395*2d1272b8SAndroid Build Coastguard Worker 2396*2d1272b8SAndroid Build Coastguard Worker- New API to allow for retrieving finer-grained cluster 2397*2d1272b8SAndroid Build Coastguard Worker mappings if the client desires to handle them. Default 2398*2d1272b8SAndroid Build Coastguard Worker behavior is unchanged. 2399*2d1272b8SAndroid Build Coastguard Worker- Fix cluster merging when removing default-ignorables. 2400*2d1272b8SAndroid Build Coastguard Worker- Update to Unicode 8.0 2401*2d1272b8SAndroid Build Coastguard Worker- hb-graphite2 fixes. 2402*2d1272b8SAndroid Build Coastguard Worker- Misc fixes. 2403*2d1272b8SAndroid Build Coastguard Worker- Removed HB_NO_MERGE_CLUSTERS hack. 2404*2d1272b8SAndroid Build Coastguard Worker- New API: 2405*2d1272b8SAndroid Build Coastguard Worker hb_buffer_cluster_level_t enum 2406*2d1272b8SAndroid Build Coastguard Worker hb_buffer_get_cluster_level() 2407*2d1272b8SAndroid Build Coastguard Worker hb_buffer_set_cluster_level() 2408*2d1272b8SAndroid Build Coastguard Worker hb-shape / hb-view --cluster-level 2409*2d1272b8SAndroid Build Coastguard Worker 2410*2d1272b8SAndroid Build Coastguard Worker 2411*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 0.9.41 2412*2d1272b8SAndroid Build Coastguard WorkerThursday, June 18, 2015 2413*2d1272b8SAndroid Build Coastguard Worker===================================== 2414*2d1272b8SAndroid Build Coastguard Worker 2415*2d1272b8SAndroid Build Coastguard Worker- Fix hb-coretext with trailing whitespace in right-to-left. 2416*2d1272b8SAndroid Build Coastguard Worker- New API: hb_buffer_reverse_range(). 2417*2d1272b8SAndroid Build Coastguard Worker- Allow implementing atomic ops in config.h. 2418*2d1272b8SAndroid Build Coastguard Worker- Fix hb_language_t in language bindings. 2419*2d1272b8SAndroid Build Coastguard Worker- Misc fixes. 2420*2d1272b8SAndroid Build Coastguard Worker 2421*2d1272b8SAndroid Build Coastguard Worker 2422*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 0.9.40 2423*2d1272b8SAndroid Build Coastguard WorkerFriday, March 20, 2015 2424*2d1272b8SAndroid Build Coastguard Worker===================================== 2425*2d1272b8SAndroid Build Coastguard Worker 2426*2d1272b8SAndroid Build Coastguard Worker- Another hb-coretext crasher fix. Ouch! 2427*2d1272b8SAndroid Build Coastguard Worker- Happy Norouz! 2428*2d1272b8SAndroid Build Coastguard Worker 2429*2d1272b8SAndroid Build Coastguard Worker 2430*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 0.9.39 2431*2d1272b8SAndroid Build Coastguard WorkerWednesday, March 4, 2015 2432*2d1272b8SAndroid Build Coastguard Worker===================================== 2433*2d1272b8SAndroid Build Coastguard Worker 2434*2d1272b8SAndroid Build Coastguard Worker- Critical hb-coretext fixes. 2435*2d1272b8SAndroid Build Coastguard Worker- Optimizations and refactoring; no functional change 2436*2d1272b8SAndroid Build Coastguard Worker expected. 2437*2d1272b8SAndroid Build Coastguard Worker- Misc build fixes. 2438*2d1272b8SAndroid Build Coastguard Worker 2439*2d1272b8SAndroid Build Coastguard Worker 2440*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 0.9.38 2441*2d1272b8SAndroid Build Coastguard WorkerFriday, January 23, 2015 2442*2d1272b8SAndroid Build Coastguard Worker===================================== 2443*2d1272b8SAndroid Build Coastguard Worker 2444*2d1272b8SAndroid Build Coastguard Worker- Fix minor out-of-bounds access in Indic shaper. 2445*2d1272b8SAndroid Build Coastguard Worker- Change New Tai Lue shaping engine from South-East Asian to default, 2446*2d1272b8SAndroid Build Coastguard Worker reflecting change in Unicode encoding model. 2447*2d1272b8SAndroid Build Coastguard Worker- Add hb-shape --font-size. Can take up to two numbers for separate 2448*2d1272b8SAndroid Build Coastguard Worker x / y size. 2449*2d1272b8SAndroid Build Coastguard Worker- Fix CoreText and FreeType scale issues with negative scales. 2450*2d1272b8SAndroid Build Coastguard Worker- Reject blobs larger than 2GB. This might break some icu-le-hb clients 2451*2d1272b8SAndroid Build Coastguard Worker that need security fixes. See: 2452*2d1272b8SAndroid Build Coastguard Worker http://www.icu-project.org/trac/ticket/11450 2453*2d1272b8SAndroid Build Coastguard Worker- Avoid accessing font tables during face destruction, in casce rogue 2454*2d1272b8SAndroid Build Coastguard Worker clients released face data already. 2455*2d1272b8SAndroid Build Coastguard Worker- Fix up gobject-introspection a bit. Python bindings kinda working. 2456*2d1272b8SAndroid Build Coastguard Worker See README.python. 2457*2d1272b8SAndroid Build Coastguard Worker- Misc fixes. 2458*2d1272b8SAndroid Build Coastguard Worker- API additions: 2459*2d1272b8SAndroid Build Coastguard Worker hb_ft_face_create_referenced() 2460*2d1272b8SAndroid Build Coastguard Worker hb_ft_font_create_referenced() 2461*2d1272b8SAndroid Build Coastguard Worker 2462*2d1272b8SAndroid Build Coastguard Worker 2463*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 0.9.37 2464*2d1272b8SAndroid Build Coastguard WorkerWednesday, December 17, 2014 2465*2d1272b8SAndroid Build Coastguard Worker===================================== 2466*2d1272b8SAndroid Build Coastguard Worker 2467*2d1272b8SAndroid Build Coastguard Worker- Fix out-of-bounds access in Context lookup format 3. 2468*2d1272b8SAndroid Build Coastguard Worker- Indic: Allow ZWJ/ZWNJ before syllable modifiers. 2469*2d1272b8SAndroid Build Coastguard Worker 2470*2d1272b8SAndroid Build Coastguard Worker 2471*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 0.9.36 2472*2d1272b8SAndroid Build Coastguard WorkerThursday, November 20, 2014 2473*2d1272b8SAndroid Build Coastguard Worker===================================== 2474*2d1272b8SAndroid Build Coastguard Worker 2475*2d1272b8SAndroid Build Coastguard Worker- First time that three months went by without a release since 2476*2d1272b8SAndroid Build Coastguard Worker 0.9.2 was released on August 10, 2012! 2477*2d1272b8SAndroid Build Coastguard Worker- Fix performance bug in hb_ot_collect_glyphs(): 2478*2d1272b8SAndroid Build Coastguard Worker https://bugzilla.mozilla.org/show_bug.cgi?id=1090869 2479*2d1272b8SAndroid Build Coastguard Worker- Add basic vertical-text support to hb-ot-font. 2480*2d1272b8SAndroid Build Coastguard Worker- Misc build fixes. 2481*2d1272b8SAndroid Build Coastguard Worker 2482*2d1272b8SAndroid Build Coastguard Worker 2483*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 0.9.35 2484*2d1272b8SAndroid Build Coastguard WorkerSaturday, August 13, 2014 2485*2d1272b8SAndroid Build Coastguard Worker===================================== 2486*2d1272b8SAndroid Build Coastguard Worker 2487*2d1272b8SAndroid Build Coastguard Worker- Fix major shape-plan caching bug when more than one shaper were 2488*2d1272b8SAndroid Build Coastguard Worker provided to hb_shape_full() (as exercised by XeTeX). 2489*2d1272b8SAndroid Build Coastguard Worker http://www.mail-archive.com/[email protected]/msg1246370.html 2490*2d1272b8SAndroid Build Coastguard Worker- Fix Arabic fallback shaping regression. This was broken in 0.9.32. 2491*2d1272b8SAndroid Build Coastguard Worker- Major hb-coretext fixes. That backend is complete now, including 2492*2d1272b8SAndroid Build Coastguard Worker respecing buffer direction and language, down to vertical writing. 2493*2d1272b8SAndroid Build Coastguard Worker- Build fixes for Windows CE. Should build fine now. 2494*2d1272b8SAndroid Build Coastguard Worker- Misc fixes: 2495*2d1272b8SAndroid Build Coastguard Worker Use atexit() only if it's safe to call from shared library 2496*2d1272b8SAndroid Build Coastguard Worker https://bugs.freedesktop.org/show_bug.cgi?id=82246 2497*2d1272b8SAndroid Build Coastguard Worker Mandaic had errors in its Unicode Joining_Type 2498*2d1272b8SAndroid Build Coastguard Worker https://bugs.freedesktop.org/show_bug.cgi?id=82306 2499*2d1272b8SAndroid Build Coastguard Worker- API changes: 2500*2d1272b8SAndroid Build Coastguard Worker 2501*2d1272b8SAndroid Build Coastguard Worker * hb_buffer_clear_contents() does not reset buffer flags now. 2502*2d1272b8SAndroid Build Coastguard Worker 2503*2d1272b8SAndroid Build Coastguard Worker After 763e5466c0a03a7c27020e1e2598e488612529a7, one doesn't 2504*2d1272b8SAndroid Build Coastguard Worker need to set flags for different pieces of text. The flags now 2505*2d1272b8SAndroid Build Coastguard Worker are something the client sets up once, depending on how it 2506*2d1272b8SAndroid Build Coastguard Worker actually uses the buffer. As such, don't clear it in 2507*2d1272b8SAndroid Build Coastguard Worker clear_contents(). 2508*2d1272b8SAndroid Build Coastguard Worker 2509*2d1272b8SAndroid Build Coastguard Worker I don't expect any changes to be needed to any existing client. 2510*2d1272b8SAndroid Build Coastguard Worker 2511*2d1272b8SAndroid Build Coastguard Worker 2512*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 0.9.34 2513*2d1272b8SAndroid Build Coastguard WorkerSaturday, August 2, 2014 2514*2d1272b8SAndroid Build Coastguard Worker===================================== 2515*2d1272b8SAndroid Build Coastguard Worker 2516*2d1272b8SAndroid Build Coastguard Worker- hb_feature_from_string() now accepts CSS font-feature-settings format. 2517*2d1272b8SAndroid Build Coastguard Worker- As a result, hb-shape / hb-view --features also accept CSS-style strings. 2518*2d1272b8SAndroid Build Coastguard Worker Eg, "'liga' off" is accepted now. 2519*2d1272b8SAndroid Build Coastguard Worker- Add old-spec Myanmar shaper: 2520*2d1272b8SAndroid Build Coastguard Worker https://bugs.freedesktop.org/show_bug.cgi?id=81775 2521*2d1272b8SAndroid Build Coastguard Worker- Don't apply 'calt' in Hangul shaper. 2522*2d1272b8SAndroid Build Coastguard Worker- Fix mark advance zeroing for Hebrew shaper: 2523*2d1272b8SAndroid Build Coastguard Worker https://bugs.freedesktop.org/show_bug.cgi?id=76767 2524*2d1272b8SAndroid Build Coastguard Worker- Implement Windows-1256 custom Arabic shaping. Only built on Windows, 2525*2d1272b8SAndroid Build Coastguard Worker and requires help from get_glyph(). Used by Firefox. 2526*2d1272b8SAndroid Build Coastguard Worker https://bugzilla.mozilla.org/show_bug.cgi?id=1045139 2527*2d1272b8SAndroid Build Coastguard Worker- Disable 'liga' in vertical text. 2528*2d1272b8SAndroid Build Coastguard Worker- Build fixes. 2529*2d1272b8SAndroid Build Coastguard Worker- API changes: 2530*2d1272b8SAndroid Build Coastguard Worker 2531*2d1272b8SAndroid Build Coastguard Worker * Make HB_BUFFER_FLAG_BOT/EOT easier to use. 2532*2d1272b8SAndroid Build Coastguard Worker 2533*2d1272b8SAndroid Build Coastguard Worker Previously, we expected users to provide BOT/EOT flags when the 2534*2d1272b8SAndroid Build Coastguard Worker text *segment* was at paragraph boundaries. This meant that for 2535*2d1272b8SAndroid Build Coastguard Worker clients that provide full paragraph to HarfBuzz (eg. Pango), they 2536*2d1272b8SAndroid Build Coastguard Worker had code like this: 2537*2d1272b8SAndroid Build Coastguard Worker 2538*2d1272b8SAndroid Build Coastguard Worker hb_buffer_set_flags (hb_buffer, 2539*2d1272b8SAndroid Build Coastguard Worker (item_offset == 0 ? HB_BUFFER_FLAG_BOT : 0) | 2540*2d1272b8SAndroid Build Coastguard Worker (item_offset + item_length == paragraph_length ? 2541*2d1272b8SAndroid Build Coastguard Worker HB_BUFFER_FLAG_EOT : 0)); 2542*2d1272b8SAndroid Build Coastguard Worker 2543*2d1272b8SAndroid Build Coastguard Worker hb_buffer_add_utf8 (hb_buffer, 2544*2d1272b8SAndroid Build Coastguard Worker paragraph_text, paragraph_length, 2545*2d1272b8SAndroid Build Coastguard Worker item_offset, item_length); 2546*2d1272b8SAndroid Build Coastguard Worker 2547*2d1272b8SAndroid Build Coastguard Worker After this change such clients can simply say: 2548*2d1272b8SAndroid Build Coastguard Worker 2549*2d1272b8SAndroid Build Coastguard Worker hb_buffer_set_flags (hb_buffer, 2550*2d1272b8SAndroid Build Coastguard Worker HB_BUFFER_FLAG_BOT | HB_BUFFER_FLAG_EOT); 2551*2d1272b8SAndroid Build Coastguard Worker 2552*2d1272b8SAndroid Build Coastguard Worker hb_buffer_add_utf8 (hb_buffer, 2553*2d1272b8SAndroid Build Coastguard Worker paragraph_text, paragraph_length, 2554*2d1272b8SAndroid Build Coastguard Worker item_offset, item_length); 2555*2d1272b8SAndroid Build Coastguard Worker 2556*2d1272b8SAndroid Build Coastguard Worker Ie, HarfBuzz itself checks whether the segment is at the beginning/end 2557*2d1272b8SAndroid Build Coastguard Worker of the paragraph. Clients that only pass item-at-a-time to HarfBuzz 2558*2d1272b8SAndroid Build Coastguard Worker continue not setting any flags whatsoever. 2559*2d1272b8SAndroid Build Coastguard Worker 2560*2d1272b8SAndroid Build Coastguard Worker Another way to put it is: if there's pre-context text in the buffer, 2561*2d1272b8SAndroid Build Coastguard Worker HarfBuzz ignores the BOT flag. If there's post-context, it ignores 2562*2d1272b8SAndroid Build Coastguard Worker EOT flag. 2563*2d1272b8SAndroid Build Coastguard Worker 2564*2d1272b8SAndroid Build Coastguard Worker 2565*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 0.9.33 2566*2d1272b8SAndroid Build Coastguard WorkerTuesday, July 22, 2014 2567*2d1272b8SAndroid Build Coastguard Worker===================================== 2568*2d1272b8SAndroid Build Coastguard Worker 2569*2d1272b8SAndroid Build Coastguard Worker- Turn off ARabic 'cswh' feature that was accidentally turned on. 2570*2d1272b8SAndroid Build Coastguard Worker- Add HB_TAG_MAX_SIGNED. 2571*2d1272b8SAndroid Build Coastguard Worker- Make hb_face_make_immutable() really make face immutable! 2572*2d1272b8SAndroid Build Coastguard Worker- Windows build fixes. 2573*2d1272b8SAndroid Build Coastguard Worker 2574*2d1272b8SAndroid Build Coastguard Worker 2575*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 0.9.32 2576*2d1272b8SAndroid Build Coastguard WorkerThursday, July 17, 2014 2577*2d1272b8SAndroid Build Coastguard Worker===================================== 2578*2d1272b8SAndroid Build Coastguard Worker 2579*2d1272b8SAndroid Build Coastguard Worker- Apply Arabic shaping features in spec order exactly. 2580*2d1272b8SAndroid Build Coastguard Worker- Another fix for Mongolian free variation selectors. 2581*2d1272b8SAndroid Build Coastguard Worker- For non-Arabic scripts in Arabic shaper apply 'rlig' and 'calt' 2582*2d1272b8SAndroid Build Coastguard Worker together. 2583*2d1272b8SAndroid Build Coastguard Worker- Minor adjustment to U+FFFD logic. 2584*2d1272b8SAndroid Build Coastguard Worker- Fix hb-coretext build. 2585*2d1272b8SAndroid Build Coastguard Worker 2586*2d1272b8SAndroid Build Coastguard Worker 2587*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 0.9.31 2588*2d1272b8SAndroid Build Coastguard WorkerWednesday, July 16, 2014 2589*2d1272b8SAndroid Build Coastguard Worker===================================== 2590*2d1272b8SAndroid Build Coastguard Worker 2591*2d1272b8SAndroid Build Coastguard Worker- Only accept valid UTF-8/16/32; we missed many cases before. 2592*2d1272b8SAndroid Build Coastguard Worker- Better shaping of invalid UTF-8/16/32. Falls back to 2593*2d1272b8SAndroid Build Coastguard Worker U+FFFD REPLACEMENT CHARACTER now. 2594*2d1272b8SAndroid Build Coastguard Worker- With all changes in this release, the buffer will contain fully 2595*2d1272b8SAndroid Build Coastguard Worker valid Unicode after hb_buffer_add_utf8/16/32 no matter how 2596*2d1272b8SAndroid Build Coastguard Worker broken the input is. This can be overridden though. See below. 2597*2d1272b8SAndroid Build Coastguard Worker- Fix Mongolian Variation Selectors for fonts without GDEF. 2598*2d1272b8SAndroid Build Coastguard Worker- Fix minor invalid buffer access. 2599*2d1272b8SAndroid Build Coastguard Worker- Accept zh-Hant and zh-Hans language tags. hb_ot_tag_to_language() 2600*2d1272b8SAndroid Build Coastguard Worker now uses these instead of private tags. 2601*2d1272b8SAndroid Build Coastguard Worker- Build fixes. 2602*2d1272b8SAndroid Build Coastguard Worker- New API: 2603*2d1272b8SAndroid Build Coastguard Worker * hb_buffer_add_codepoints(). This does what hb_buffer_add_utf32() 2604*2d1272b8SAndroid Build Coastguard Worker used to do, ie. no validity check on the input at all. add_utf32 2605*2d1272b8SAndroid Build Coastguard Worker now replaces invalid Unicode codepoints with the replacement 2606*2d1272b8SAndroid Build Coastguard Worker character (see below). 2607*2d1272b8SAndroid Build Coastguard Worker * hb_buffer_set_replacement_codepoint() 2608*2d1272b8SAndroid Build Coastguard Worker * hb_buffer_get_replacement_codepoint() 2609*2d1272b8SAndroid Build Coastguard Worker Previously, in hb_buffer_add_utf8 and hb_buffer_add_utf16, when 2610*2d1272b8SAndroid Build Coastguard Worker we detected broken input, we replaced that with (hb_codepoint_t)-1. 2611*2d1272b8SAndroid Build Coastguard Worker This has changed to use U+FFFD now, but can be changed using these 2612*2d1272b8SAndroid Build Coastguard Worker new API. 2613*2d1272b8SAndroid Build Coastguard Worker 2614*2d1272b8SAndroid Build Coastguard Worker 2615*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 0.9.30 2616*2d1272b8SAndroid Build Coastguard WorkerWednesday, July 9, 2014 2617*2d1272b8SAndroid Build Coastguard Worker===================================== 2618*2d1272b8SAndroid Build Coastguard Worker 2619*2d1272b8SAndroid Build Coastguard Worker- Update to Unicode 7.0.0: 2620*2d1272b8SAndroid Build Coastguard Worker * New scripts Manichaean and Psalter Pahlavi are shaped using 2621*2d1272b8SAndroid Build Coastguard Worker Arabic shaper. 2622*2d1272b8SAndroid Build Coastguard Worker * All the other new scripts to through the generic shaper for 2623*2d1272b8SAndroid Build Coastguard Worker now. 2624*2d1272b8SAndroid Build Coastguard Worker- Minor Indic improvements. 2625*2d1272b8SAndroid Build Coastguard Worker- Fix graphite2 backend cluster mapping [crasher!] 2626*2d1272b8SAndroid Build Coastguard Worker- API changes: 2627*2d1272b8SAndroid Build Coastguard Worker * New HB_SCRIPT_* values for Unicode 7.0 scripts. 2628*2d1272b8SAndroid Build Coastguard Worker * New function hb_ot_layout_language_get_required_feature(). 2629*2d1272b8SAndroid Build Coastguard Worker- Build fixes. 2630*2d1272b8SAndroid Build Coastguard Worker 2631*2d1272b8SAndroid Build Coastguard Worker 2632*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 0.9.29 2633*2d1272b8SAndroid Build Coastguard WorkerThursday, May 29, 2014 2634*2d1272b8SAndroid Build Coastguard Worker===================================== 2635*2d1272b8SAndroid Build Coastguard Worker 2636*2d1272b8SAndroid Build Coastguard Worker- Implement cmap in hb-ot-font.h. No variation-selectors yet. 2637*2d1272b8SAndroid Build Coastguard Worker- Myanmar: Allow MedialYa+Asat. 2638*2d1272b8SAndroid Build Coastguard Worker- Various Indic fixes: 2639*2d1272b8SAndroid Build Coastguard Worker * Support most characters in Extended Devanagary and Vedic 2640*2d1272b8SAndroid Build Coastguard Worker Unicode blocks. 2641*2d1272b8SAndroid Build Coastguard Worker * Allow digits and a some punctuation as consonant placeholders. 2642*2d1272b8SAndroid Build Coastguard Worker- Build fixes. 2643*2d1272b8SAndroid Build Coastguard Worker 2644*2d1272b8SAndroid Build Coastguard Worker 2645*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 0.9.28 2646*2d1272b8SAndroid Build Coastguard WorkerMonday, April 28, 2014 2647*2d1272b8SAndroid Build Coastguard Worker===================================== 2648*2d1272b8SAndroid Build Coastguard Worker 2649*2d1272b8SAndroid Build Coastguard Worker- Unbreak old-spec Indic shaping. (bug 76705) 2650*2d1272b8SAndroid Build Coastguard Worker- Fix shaping of U+17DD and U+0FC6. 2651*2d1272b8SAndroid Build Coastguard Worker- Add HB_NO_MERGE_CLUSTERS build option. NOT to be enabled by default 2652*2d1272b8SAndroid Build Coastguard Worker for shipping libraries. It's an option for further experimentation 2653*2d1272b8SAndroid Build Coastguard Worker right now. When we are sure how to do it properly, we will add 2654*2d1272b8SAndroid Build Coastguard Worker public run-time API for the functionality. 2655*2d1272b8SAndroid Build Coastguard Worker- Build fixes. 2656*2d1272b8SAndroid Build Coastguard Worker 2657*2d1272b8SAndroid Build Coastguard Worker 2658*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 0.9.27 2659*2d1272b8SAndroid Build Coastguard WorkerTuesday, March 18, 2014 2660*2d1272b8SAndroid Build Coastguard Worker===================================== 2661*2d1272b8SAndroid Build Coastguard Worker 2662*2d1272b8SAndroid Build Coastguard Worker- Don't use "register" storage class specifier 2663*2d1272b8SAndroid Build Coastguard Worker- Wrap definition of free_langs() with HAVE_ATEXIT 2664*2d1272b8SAndroid Build Coastguard Worker- Add coretext_aat shaper and hb_coretext_face_create() constructor 2665*2d1272b8SAndroid Build Coastguard Worker- If HAVE_ICU_BUILTIN is defined, use hb-icu Unicode callbacks 2666*2d1272b8SAndroid Build Coastguard Worker- Add Myanmar test case from OpenType Myanmar spec 2667*2d1272b8SAndroid Build Coastguard Worker- Only do fallback Hebrew composition if no GPOS 'mark' available 2668*2d1272b8SAndroid Build Coastguard Worker- Allow bootstrapping without gtk-doc 2669*2d1272b8SAndroid Build Coastguard Worker- Use AM_MISSING_PROG for ragel and git 2670*2d1272b8SAndroid Build Coastguard Worker- Typo in ucdn's Makefile.am 2671*2d1272b8SAndroid Build Coastguard Worker- Improve MemoryBarrier() implementation 2672*2d1272b8SAndroid Build Coastguard Worker 2673*2d1272b8SAndroid Build Coastguard Worker 2674*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 0.9.26 2675*2d1272b8SAndroid Build Coastguard WorkerThursday, January 30, 2014 2676*2d1272b8SAndroid Build Coastguard Worker===================================== 2677*2d1272b8SAndroid Build Coastguard Worker 2678*2d1272b8SAndroid Build Coastguard Worker- Misc fixes. 2679*2d1272b8SAndroid Build Coastguard Worker- Fix application of 'rtlm' feature. 2680*2d1272b8SAndroid Build Coastguard Worker- Automatically apply frac/numr/dnom around U+2044 FRACTION SLASH. 2681*2d1272b8SAndroid Build Coastguard Worker- New header: hb-ot-shape.h 2682*2d1272b8SAndroid Build Coastguard Worker- Uniscribe: fix scratch-buffer accounting. 2683*2d1272b8SAndroid Build Coastguard Worker- Reorder Tai Tham SAKOT to after tone-marks. 2684*2d1272b8SAndroid Build Coastguard Worker- Add Hangul shaper. 2685*2d1272b8SAndroid Build Coastguard Worker- New files: 2686*2d1272b8SAndroid Build Coastguard Worker hb-ot-shape-complex-hangul.cc 2687*2d1272b8SAndroid Build Coastguard Worker hb-ot-shape-complex-hebrew.cc 2688*2d1272b8SAndroid Build Coastguard Worker hb-ot-shape-complex-tibetan.cc 2689*2d1272b8SAndroid Build Coastguard Worker- Disable 'cswh' feature in Arabic shaper. 2690*2d1272b8SAndroid Build Coastguard Worker- Coretext: better handle surrogate pairs. 2691*2d1272b8SAndroid Build Coastguard Worker- Add HB_TAG_MAX and _HB_SCRIPT_MAX_VALUE. 2692*2d1272b8SAndroid Build Coastguard Worker 2693*2d1272b8SAndroid Build Coastguard Worker 2694*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 0.9.25 2695*2d1272b8SAndroid Build Coastguard WorkerWednesday, December 4, 2013 2696*2d1272b8SAndroid Build Coastguard Worker===================================== 2697*2d1272b8SAndroid Build Coastguard Worker 2698*2d1272b8SAndroid Build Coastguard Worker- Myanmar shaper improvements. 2699*2d1272b8SAndroid Build Coastguard Worker- Avoid font fallback in CoreText backend. 2700*2d1272b8SAndroid Build Coastguard Worker- Additional OpenType language tag mappiongs. 2701*2d1272b8SAndroid Build Coastguard Worker- More aggressive shape-plan caching. 2702*2d1272b8SAndroid Build Coastguard Worker- Build with / require automake 1.13. 2703*2d1272b8SAndroid Build Coastguard Worker- Build with libtool 2.4.2.418 alpha to support ppc64le. 2704*2d1272b8SAndroid Build Coastguard Worker 2705*2d1272b8SAndroid Build Coastguard Worker 2706*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 0.9.24 2707*2d1272b8SAndroid Build Coastguard WorkerTuesday, November 13, 2013 2708*2d1272b8SAndroid Build Coastguard Worker===================================== 2709*2d1272b8SAndroid Build Coastguard Worker 2710*2d1272b8SAndroid Build Coastguard Worker- Misc compiler warning fixes with clang. 2711*2d1272b8SAndroid Build Coastguard Worker- No functional changes. 2712*2d1272b8SAndroid Build Coastguard Worker 2713*2d1272b8SAndroid Build Coastguard Worker 2714*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 0.9.23 2715*2d1272b8SAndroid Build Coastguard WorkerMonday, October 28, 2013 2716*2d1272b8SAndroid Build Coastguard Worker===================================== 2717*2d1272b8SAndroid Build Coastguard Worker 2718*2d1272b8SAndroid Build Coastguard Worker- "Udupi HarfBuzz Hackfest", Paris, October 14..18 2013. 2719*2d1272b8SAndroid Build Coastguard Worker- Fix (Chain)Context recursion with non-monotone lookup positions. 2720*2d1272b8SAndroid Build Coastguard Worker- Misc Indic bug fixes. 2721*2d1272b8SAndroid Build Coastguard Worker- New Javanese / Buginese shaping, similar to Windows 8.1. 2722*2d1272b8SAndroid Build Coastguard Worker 2723*2d1272b8SAndroid Build Coastguard Worker 2724*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 0.9.22 2725*2d1272b8SAndroid Build Coastguard WorkerThursday, October 3, 2013 2726*2d1272b8SAndroid Build Coastguard Worker===================================== 2727*2d1272b8SAndroid Build Coastguard Worker 2728*2d1272b8SAndroid Build Coastguard Worker- Fix use-after-end-of-scope in hb_language_from_string(). 2729*2d1272b8SAndroid Build Coastguard Worker- Fix hiding of default_ignorables if font doesn't have space glyph. 2730*2d1272b8SAndroid Build Coastguard Worker- Protect against out-of-range lookup indices. 2731*2d1272b8SAndroid Build Coastguard Worker 2732*2d1272b8SAndroid Build Coastguard Worker- API Changes: 2733*2d1272b8SAndroid Build Coastguard Worker 2734*2d1272b8SAndroid Build Coastguard Worker * Added hb_ot_layout_table_get_lookup_count() 2735*2d1272b8SAndroid Build Coastguard Worker 2736*2d1272b8SAndroid Build Coastguard Worker 2737*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 0.9.21 2738*2d1272b8SAndroid Build Coastguard WorkerMonday, September 16, 2013 2739*2d1272b8SAndroid Build Coastguard Worker===================================== 2740*2d1272b8SAndroid Build Coastguard Worker 2741*2d1272b8SAndroid Build Coastguard Worker- Rename gobject-introspection library name from harfbuzz to HarfBuzz. 2742*2d1272b8SAndroid Build Coastguard Worker- Remove (long disabled) hb-old and hb-icu-le test shapers. 2743*2d1272b8SAndroid Build Coastguard Worker- Misc gtk-doc and gobject-introspection annotations. 2744*2d1272b8SAndroid Build Coastguard Worker- Misc fixes. 2745*2d1272b8SAndroid Build Coastguard Worker- API changes: 2746*2d1272b8SAndroid Build Coastguard Worker 2747*2d1272b8SAndroid Build Coastguard Worker * Add HB_SET_VALUE_INVALID 2748*2d1272b8SAndroid Build Coastguard Worker 2749*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 0.9.20 2750*2d1272b8SAndroid Build Coastguard WorkerThursday, August 29, 2013 2751*2d1272b8SAndroid Build Coastguard Worker===================================== 2752*2d1272b8SAndroid Build Coastguard Worker 2753*2d1272b8SAndroid Build Coastguard WorkerGeneral: 2754*2d1272b8SAndroid Build Coastguard Worker- Misc substitute_closure() fixes. 2755*2d1272b8SAndroid Build Coastguard Worker- Build fixes. 2756*2d1272b8SAndroid Build Coastguard Worker 2757*2d1272b8SAndroid Build Coastguard WorkerDocumentation: 2758*2d1272b8SAndroid Build Coastguard Worker- gtk-doc boilerplate integrated. Docs are built now, but 2759*2d1272b8SAndroid Build Coastguard Worker contain no contents. By next release hopefully we have 2760*2d1272b8SAndroid Build Coastguard Worker some content in. Enable using --enable-gtk-doc. 2761*2d1272b8SAndroid Build Coastguard Worker 2762*2d1272b8SAndroid Build Coastguard WorkerGObject and Introspection: 2763*2d1272b8SAndroid Build Coastguard Worker- Added harfbuzz-gobject library (hb-gobject.h) that has type 2764*2d1272b8SAndroid Build Coastguard Worker bindings for all HarfBuzz objects and enums. Enable using 2765*2d1272b8SAndroid Build Coastguard Worker --with-gobject. 2766*2d1272b8SAndroid Build Coastguard Worker- Added gobject-introspection boilerplate. Nothing useful 2767*2d1272b8SAndroid Build Coastguard Worker right now. Work in progress. Gets enabled automatically if 2768*2d1272b8SAndroid Build Coastguard Worker --with-gobject is used. Override with --disable-introspection. 2769*2d1272b8SAndroid Build Coastguard Worker 2770*2d1272b8SAndroid Build Coastguard WorkerOpenType shaper: 2771*2d1272b8SAndroid Build Coastguard Worker- Apply 'mark' in Myanmar shaper. 2772*2d1272b8SAndroid Build Coastguard Worker- Don't apply 'dlig' by default. 2773*2d1272b8SAndroid Build Coastguard Worker 2774*2d1272b8SAndroid Build Coastguard WorkerUniscribe shaper: 2775*2d1272b8SAndroid Build Coastguard Worker- Support user features. 2776*2d1272b8SAndroid Build Coastguard Worker- Fix loading of fonts that are also installed on the system. 2777*2d1272b8SAndroid Build Coastguard Worker- Fix shaping of Arabic Presentation Forms. 2778*2d1272b8SAndroid Build Coastguard Worker- Fix build with wide chars. 2779*2d1272b8SAndroid Build Coastguard Worker 2780*2d1272b8SAndroid Build Coastguard WorkerCoreText shaper: 2781*2d1272b8SAndroid Build Coastguard Worker- Support user features. 2782*2d1272b8SAndroid Build Coastguard Worker 2783*2d1272b8SAndroid Build Coastguard WorkerSource changes: 2784*2d1272b8SAndroid Build Coastguard Worker- hb_face_t code moved to hb-face.h / hb-face.cc. 2785*2d1272b8SAndroid Build Coastguard Worker- Added hb-deprecated.h. 2786*2d1272b8SAndroid Build Coastguard Worker 2787*2d1272b8SAndroid Build Coastguard WorkerAPI changes: 2788*2d1272b8SAndroid Build Coastguard Worker- Added HB_DISABLE_DEPRECATED. 2789*2d1272b8SAndroid Build Coastguard Worker- Deprecated HB_SCRIPT_CANADIAN_ABORIGINAL; replaced by 2790*2d1272b8SAndroid Build Coastguard Worker HB_SCRIPT_CANADIAN_SYLLABICS. 2791*2d1272b8SAndroid Build Coastguard Worker- Deprecated HB_BUFFER_FLAGS_DEFAULT; replaced by 2792*2d1272b8SAndroid Build Coastguard Worker HB_BUFFER_FLAG_DEFAULT. 2793*2d1272b8SAndroid Build Coastguard Worker- Deprecated HB_BUFFER_SERIALIZE_FLAGS_DEFAULT; replaced by 2794*2d1272b8SAndroid Build Coastguard Worker HB_BUFFER_SERIALIZE_FLAG_DEFAULT. 2795*2d1272b8SAndroid Build Coastguard Worker 2796*2d1272b8SAndroid Build Coastguard Worker 2797*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 0.9.19 2798*2d1272b8SAndroid Build Coastguard WorkerTuesday, July 16, 2013 2799*2d1272b8SAndroid Build Coastguard Worker===================================== 2800*2d1272b8SAndroid Build Coastguard Worker 2801*2d1272b8SAndroid Build Coastguard Worker- Build fixes. 2802*2d1272b8SAndroid Build Coastguard Worker- Better handling of multiple variation selectors in a row. 2803*2d1272b8SAndroid Build Coastguard Worker- Pass on variation selector to GSUB if not consumed by cmap. 2804*2d1272b8SAndroid Build Coastguard Worker- Fix undefined memory access. 2805*2d1272b8SAndroid Build Coastguard Worker- Add Javanese config to Indic shaper. 2806*2d1272b8SAndroid Build Coastguard Worker- Misc bug fixes. 2807*2d1272b8SAndroid Build Coastguard Worker 2808*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 0.9.18 2809*2d1272b8SAndroid Build Coastguard WorkerTuesday, May 28, 2013 2810*2d1272b8SAndroid Build Coastguard Worker===================================== 2811*2d1272b8SAndroid Build Coastguard Worker 2812*2d1272b8SAndroid Build Coastguard WorkerNew build system: 2813*2d1272b8SAndroid Build Coastguard Worker 2814*2d1272b8SAndroid Build Coastguard Worker- All unneeded code is all disabled by default, 2815*2d1272b8SAndroid Build Coastguard Worker 2816*2d1272b8SAndroid Build Coastguard Worker- Uniscribe and CoreText shapers can be enabled with their --with options, 2817*2d1272b8SAndroid Build Coastguard Worker 2818*2d1272b8SAndroid Build Coastguard Worker- icu_le and old shapers cannot be enabled for now, 2819*2d1272b8SAndroid Build Coastguard Worker 2820*2d1272b8SAndroid Build Coastguard Worker- glib, freetype, and cairo will be detected automatically. 2821*2d1272b8SAndroid Build Coastguard Worker They can be force on/off'ed with their --with options, 2822*2d1272b8SAndroid Build Coastguard Worker 2823*2d1272b8SAndroid Build Coastguard Worker- icu and graphite2 are default off, can be enabled with their --with 2824*2d1272b8SAndroid Build Coastguard Worker options, 2825*2d1272b8SAndroid Build Coastguard Worker 2826*2d1272b8SAndroid Build Coastguard WorkerMoreover, ICU support is now build into a separate library: 2827*2d1272b8SAndroid Build Coastguard Workerlibharfbuzz-icu.so, and a new harfbuzz-icu.pc is shipped for it. 2828*2d1272b8SAndroid Build Coastguard WorkerDistros can enable ICU now without every application on earth 2829*2d1272b8SAndroid Build Coastguard Workergetting linked to via libharfbuzz.so. 2830*2d1272b8SAndroid Build Coastguard Worker 2831*2d1272b8SAndroid Build Coastguard WorkerFor distros I recommend that they make sure they are building --with-glib 2832*2d1272b8SAndroid Build Coastguard Worker--with-freetype --with-cairo, --with-icu, and optionally --with-graphite2; 2833*2d1272b8SAndroid Build Coastguard WorkerAnd package harfbuzz and harfbuzz-icu separately. 2834*2d1272b8SAndroid Build Coastguard Worker 2835*2d1272b8SAndroid Build Coastguard Worker 2836*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 0.9.17 2837*2d1272b8SAndroid Build Coastguard WorkerMonday, May 20, 2013 2838*2d1272b8SAndroid Build Coastguard Worker===================================== 2839*2d1272b8SAndroid Build Coastguard Worker 2840*2d1272b8SAndroid Build Coastguard Worker- Build fixes. 2841*2d1272b8SAndroid Build Coastguard Worker- Fix bug in hb_set_get_min(). 2842*2d1272b8SAndroid Build Coastguard Worker- Fix regression with Arabic mark positioning / width-zeroing. 2843*2d1272b8SAndroid Build Coastguard Worker 2844*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 0.9.16 2845*2d1272b8SAndroid Build Coastguard WorkerFriday, April 19, 2013 2846*2d1272b8SAndroid Build Coastguard Worker===================================== 2847*2d1272b8SAndroid Build Coastguard Worker 2848*2d1272b8SAndroid Build Coastguard Worker- Major speedup in OpenType lookup processing. With the Amiri 2849*2d1272b8SAndroid Build Coastguard Worker Arabic font, this release is over 3x faster than previous 2850*2d1272b8SAndroid Build Coastguard Worker release. All scripts / languages should see this speedup. 2851*2d1272b8SAndroid Build Coastguard Worker 2852*2d1272b8SAndroid Build Coastguard Worker- New --num-iterations option for hb-shape / hb-view; useful for 2853*2d1272b8SAndroid Build Coastguard Worker profiling. 2854*2d1272b8SAndroid Build Coastguard Worker 2855*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 0.9.15 2856*2d1272b8SAndroid Build Coastguard WorkerFriday, April 05, 2013 2857*2d1272b8SAndroid Build Coastguard Worker===================================== 2858*2d1272b8SAndroid Build Coastguard Worker 2859*2d1272b8SAndroid Build Coastguard Worker- Build fixes. 2860*2d1272b8SAndroid Build Coastguard Worker- Fix crasher in graphite2 shaper. 2861*2d1272b8SAndroid Build Coastguard Worker- Fix Arabic mark width zeroing regression. 2862*2d1272b8SAndroid Build Coastguard Worker- Don't compose Hangul jamo into Unicode syllables. 2863*2d1272b8SAndroid Build Coastguard Worker 2864*2d1272b8SAndroid Build Coastguard Worker 2865*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 0.9.14 2866*2d1272b8SAndroid Build Coastguard WorkerThursday, March 21, 2013 2867*2d1272b8SAndroid Build Coastguard Worker===================================== 2868*2d1272b8SAndroid Build Coastguard Worker 2869*2d1272b8SAndroid Build Coastguard Worker- Build fixes. 2870*2d1272b8SAndroid Build Coastguard Worker- Fix time-consuming sanitize with malicious fonts. 2871*2d1272b8SAndroid Build Coastguard Worker- Implement hb_buffer_deserialize_glyphs() for both json and text. 2872*2d1272b8SAndroid Build Coastguard Worker- Do not ignore Hangul filler characters. 2873*2d1272b8SAndroid Build Coastguard Worker- Indic fixes: 2874*2d1272b8SAndroid Build Coastguard Worker * Fix Malayalam pre-base reordering interaction with post-forms. 2875*2d1272b8SAndroid Build Coastguard Worker * Further adjust ZWJ handling. Should fix known regressions from 2876*2d1272b8SAndroid Build Coastguard Worker 0.9.13. 2877*2d1272b8SAndroid Build Coastguard Worker 2878*2d1272b8SAndroid Build Coastguard Worker 2879*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 0.9.13 2880*2d1272b8SAndroid Build Coastguard WorkerThursday, February 25, 2013 2881*2d1272b8SAndroid Build Coastguard Worker===================================== 2882*2d1272b8SAndroid Build Coastguard Worker 2883*2d1272b8SAndroid Build Coastguard Worker- Build fixes. 2884*2d1272b8SAndroid Build Coastguard Worker- Ngapi HarfBuzz Hackfest in London (February 2013): 2885*2d1272b8SAndroid Build Coastguard Worker * Fixed all known Indic bugs, 2886*2d1272b8SAndroid Build Coastguard Worker * New Win8-style Myanmar shaper, 2887*2d1272b8SAndroid Build Coastguard Worker * New South-East Asian shaper for Tai Tham, Cham, and New Tai Lue, 2888*2d1272b8SAndroid Build Coastguard Worker * Smartly ignore Default_Ignorable characters (joiners, etc) wheb 2889*2d1272b8SAndroid Build Coastguard Worker matching GSUB/GPOS lookups, 2890*2d1272b8SAndroid Build Coastguard Worker * Fix 'Phags-Pa U+A872 shaping, 2891*2d1272b8SAndroid Build Coastguard Worker * Fix partial disabling of default-on features, 2892*2d1272b8SAndroid Build Coastguard Worker * Allow disabling of TrueType kerning. 2893*2d1272b8SAndroid Build Coastguard Worker- Fix possible crasher with broken fonts with overlapping tables. 2894*2d1272b8SAndroid Build Coastguard Worker- Removed generated files from git again. So, one needs ragel to 2895*2d1272b8SAndroid Build Coastguard Worker bootstrap from the git tree. 2896*2d1272b8SAndroid Build Coastguard Worker 2897*2d1272b8SAndroid Build Coastguard WorkerAPI changes: 2898*2d1272b8SAndroid Build Coastguard Worker- hb_shape() and related APIs now abort if buffer direction is 2899*2d1272b8SAndroid Build Coastguard Worker HB_DIRECTION_INVALID. Previously, hb_shape() was calling 2900*2d1272b8SAndroid Build Coastguard Worker hb_buffer_guess_segment_properties() on the buffer before 2901*2d1272b8SAndroid Build Coastguard Worker shaping. The heuristics in that function are fragile. If the 2902*2d1272b8SAndroid Build Coastguard Worker user really wants the old behvaior, they can call that function 2903*2d1272b8SAndroid Build Coastguard Worker right before calling hb_shape() to get the old behavior. 2904*2d1272b8SAndroid Build Coastguard Worker- hb_blob_create_sub_blob() always creates sub-blob with 2905*2d1272b8SAndroid Build Coastguard Worker HB_MEMORY_MODE_READONLY. See comments for the reason. 2906*2d1272b8SAndroid Build Coastguard Worker 2907*2d1272b8SAndroid Build Coastguard Worker 2908*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 0.9.12 2909*2d1272b8SAndroid Build Coastguard WorkerThursday, January 18, 2013 2910*2d1272b8SAndroid Build Coastguard Worker===================================== 2911*2d1272b8SAndroid Build Coastguard Worker 2912*2d1272b8SAndroid Build Coastguard Worker- Build fixes for Sun compiler. 2913*2d1272b8SAndroid Build Coastguard Worker- Minor bug fix. 2914*2d1272b8SAndroid Build Coastguard Worker 2915*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 0.9.11 2916*2d1272b8SAndroid Build Coastguard WorkerThursday, January 10, 2013 2917*2d1272b8SAndroid Build Coastguard Worker===================================== 2918*2d1272b8SAndroid Build Coastguard Worker 2919*2d1272b8SAndroid Build Coastguard Worker- Build fixes. 2920*2d1272b8SAndroid Build Coastguard Worker- Fix GPOS mark attachment with null Anchor offsets. 2921*2d1272b8SAndroid Build Coastguard Worker- [Indic] Fix old-spec reordering of viramas if sequence ends in one. 2922*2d1272b8SAndroid Build Coastguard Worker- Fix multi-threaded shaper data creation crash. 2923*2d1272b8SAndroid Build Coastguard Worker- Add atomic ops for Solaris. 2924*2d1272b8SAndroid Build Coastguard Worker 2925*2d1272b8SAndroid Build Coastguard WorkerAPI changes: 2926*2d1272b8SAndroid Build Coastguard Worker- Rename hb_buffer_clear() to hb_buffer_clear_contents(). 2927*2d1272b8SAndroid Build Coastguard Worker 2928*2d1272b8SAndroid Build Coastguard Worker 2929*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 0.9.10 2930*2d1272b8SAndroid Build Coastguard WorkerThursday, January 3, 2013 2931*2d1272b8SAndroid Build Coastguard Worker===================================== 2932*2d1272b8SAndroid Build Coastguard Worker 2933*2d1272b8SAndroid Build Coastguard Worker- [Indic] Fixed rendering of Malayalam dot-reph 2934*2d1272b8SAndroid Build Coastguard Worker- Updated OT language tags. 2935*2d1272b8SAndroid Build Coastguard Worker- Updated graphite2 backend. 2936*2d1272b8SAndroid Build Coastguard Worker- Improved hb_ot_layout_get_size_params() logic. 2937*2d1272b8SAndroid Build Coastguard Worker- Improve hb-shape/hb-view help output. 2938*2d1272b8SAndroid Build Coastguard Worker- Fixed hb-set.h implementation to not crash. 2939*2d1272b8SAndroid Build Coastguard Worker- Fixed various issues with hb_ot_layout_collect_lookups(). 2940*2d1272b8SAndroid Build Coastguard Worker- Various build fixes. 2941*2d1272b8SAndroid Build Coastguard Worker 2942*2d1272b8SAndroid Build Coastguard WorkerNew API: 2943*2d1272b8SAndroid Build Coastguard Worker 2944*2d1272b8SAndroid Build Coastguard Workerhb_graphite2_face_get_gr_face() 2945*2d1272b8SAndroid Build Coastguard Workerhb_graphite2_font_get_gr_font() 2946*2d1272b8SAndroid Build Coastguard Workerhb_coretext_face_get_cg_font() 2947*2d1272b8SAndroid Build Coastguard Worker 2948*2d1272b8SAndroid Build Coastguard WorkerModified API: 2949*2d1272b8SAndroid Build Coastguard Worker 2950*2d1272b8SAndroid Build Coastguard Workerhb_ot_layout_get_size_params() 2951*2d1272b8SAndroid Build Coastguard Worker 2952*2d1272b8SAndroid Build Coastguard Worker 2953*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 0.9.9 2954*2d1272b8SAndroid Build Coastguard WorkerWednesday, December 5, 2012 2955*2d1272b8SAndroid Build Coastguard Worker==================================== 2956*2d1272b8SAndroid Build Coastguard Worker 2957*2d1272b8SAndroid Build Coastguard Worker- Fix build on Windows. 2958*2d1272b8SAndroid Build Coastguard Worker- Minor improvements. 2959*2d1272b8SAndroid Build Coastguard Worker 2960*2d1272b8SAndroid Build Coastguard Worker 2961*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 0.9.8 2962*2d1272b8SAndroid Build Coastguard WorkerTuesday, December 4, 2012 2963*2d1272b8SAndroid Build Coastguard Worker==================================== 2964*2d1272b8SAndroid Build Coastguard Worker 2965*2d1272b8SAndroid Build Coastguard Worker 2966*2d1272b8SAndroid Build Coastguard Worker- Actually implement hb_shape_plan_get_shaper (). 2967*2d1272b8SAndroid Build Coastguard Worker- Make UCDB data tables const. 2968*2d1272b8SAndroid Build Coastguard Worker- Lots of internal refactoring in OTLayout tables. 2969*2d1272b8SAndroid Build Coastguard Worker- Flesh out hb_ot_layout_lookup_collect_glyphs(). 2970*2d1272b8SAndroid Build Coastguard Worker 2971*2d1272b8SAndroid Build Coastguard WorkerNew API: 2972*2d1272b8SAndroid Build Coastguard Worker 2973*2d1272b8SAndroid Build Coastguard Workerhb_ot_layout_collect_lookups() 2974*2d1272b8SAndroid Build Coastguard Workerhb_ot_layout_get_size_params() 2975*2d1272b8SAndroid Build Coastguard Worker 2976*2d1272b8SAndroid Build Coastguard Worker 2977*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 0.9.7 2978*2d1272b8SAndroid Build Coastguard WorkerSunday, November 21, 2012 2979*2d1272b8SAndroid Build Coastguard Worker==================================== 2980*2d1272b8SAndroid Build Coastguard Worker 2981*2d1272b8SAndroid Build Coastguard Worker 2982*2d1272b8SAndroid Build Coastguard WorkerHarfBuzz "All-You-Can-Eat-Sushi" (aka Vancouver) Hackfest and follow-on fixes. 2983*2d1272b8SAndroid Build Coastguard Worker 2984*2d1272b8SAndroid Build Coastguard Worker- Fix Arabic contextual joining using pre-context text. 2985*2d1272b8SAndroid Build Coastguard Worker- Fix Sinhala "split matra" mess. 2986*2d1272b8SAndroid Build Coastguard Worker- Fix Khmer shaping with broken fonts. 2987*2d1272b8SAndroid Build Coastguard Worker- Implement Thai "PUA" shaping for old fonts. 2988*2d1272b8SAndroid Build Coastguard Worker- Do NOT route Kharoshthi script through the Indic shaper. 2989*2d1272b8SAndroid Build Coastguard Worker- Disable fallback positioning for Indic and Thai shapers. 2990*2d1272b8SAndroid Build Coastguard Worker- Misc fixes. 2991*2d1272b8SAndroid Build Coastguard Worker 2992*2d1272b8SAndroid Build Coastguard Worker 2993*2d1272b8SAndroid Build Coastguard Workerhb-shape / hb-view changes: 2994*2d1272b8SAndroid Build Coastguard Worker 2995*2d1272b8SAndroid Build Coastguard Worker- Add --text-before and --text-after 2996*2d1272b8SAndroid Build Coastguard Worker- Add --bot / --eot / --preserve-default-ignorables 2997*2d1272b8SAndroid Build Coastguard Worker- hb-shape --output-format=json 2998*2d1272b8SAndroid Build Coastguard Worker 2999*2d1272b8SAndroid Build Coastguard Worker 3000*2d1272b8SAndroid Build Coastguard WorkerNew API: 3001*2d1272b8SAndroid Build Coastguard Worker 3002*2d1272b8SAndroid Build Coastguard Workerhb_buffer_clear() 3003*2d1272b8SAndroid Build Coastguard Worker 3004*2d1272b8SAndroid Build Coastguard Workerhb_buffer_flags_t 3005*2d1272b8SAndroid Build Coastguard Worker 3006*2d1272b8SAndroid Build Coastguard WorkerHB_BUFFER_FLAGS_DEFAULT 3007*2d1272b8SAndroid Build Coastguard WorkerHB_BUFFER_FLAG_BOT 3008*2d1272b8SAndroid Build Coastguard WorkerHB_BUFFER_FLAG_EOT 3009*2d1272b8SAndroid Build Coastguard WorkerHB_BUFFER_FLAG_PRESERVE_DEFAULT_IGNORABLES 3010*2d1272b8SAndroid Build Coastguard Worker 3011*2d1272b8SAndroid Build Coastguard Workerhb_buffer_set_flags() 3012*2d1272b8SAndroid Build Coastguard Workerhb_buffer_get_flags() 3013*2d1272b8SAndroid Build Coastguard Worker 3014*2d1272b8SAndroid Build Coastguard WorkerHB_BUFFER_SERIALIZE_FLAGS 3015*2d1272b8SAndroid Build Coastguard Workerhb_buffer_serialize_glyphs() 3016*2d1272b8SAndroid Build Coastguard Workerhb_buffer_deserialize_glyphs() 3017*2d1272b8SAndroid Build Coastguard Workerhb_buffer_serialize_list_formats() 3018*2d1272b8SAndroid Build Coastguard Worker 3019*2d1272b8SAndroid Build Coastguard Workerhb_set_add_range() 3020*2d1272b8SAndroid Build Coastguard Workerhb_set_del_range() 3021*2d1272b8SAndroid Build Coastguard Workerhb_set_get_population() 3022*2d1272b8SAndroid Build Coastguard Workerhb_set_next_range() 3023*2d1272b8SAndroid Build Coastguard Worker 3024*2d1272b8SAndroid Build Coastguard Workerhb_face_[sg]et_glyph_count() 3025*2d1272b8SAndroid Build Coastguard Worker 3026*2d1272b8SAndroid Build Coastguard Workerhb_segment_properties_t 3027*2d1272b8SAndroid Build Coastguard WorkerHB_SEGMENT_PROPERTIES_DEFAULT 3028*2d1272b8SAndroid Build Coastguard Workerhb_segment_properties_equal() 3029*2d1272b8SAndroid Build Coastguard Workerhb_segment_properties_hash() 3030*2d1272b8SAndroid Build Coastguard Worker 3031*2d1272b8SAndroid Build Coastguard Workerhb_buffer_set_segment_properties() 3032*2d1272b8SAndroid Build Coastguard Workerhb_buffer_get_segment_properties() 3033*2d1272b8SAndroid Build Coastguard Worker 3034*2d1272b8SAndroid Build Coastguard Workerhb_ot_layout_glyph_class_t 3035*2d1272b8SAndroid Build Coastguard Workerhb_ot_layout_get_glyph_class() 3036*2d1272b8SAndroid Build Coastguard Workerhb_ot_layout_get_glyphs_in_class() 3037*2d1272b8SAndroid Build Coastguard Worker 3038*2d1272b8SAndroid Build Coastguard Workerhb_shape_plan_t 3039*2d1272b8SAndroid Build Coastguard Workerhb_shape_plan_create() 3040*2d1272b8SAndroid Build Coastguard Workerhb_shape_plan_create_cached() 3041*2d1272b8SAndroid Build Coastguard Workerhb_shape_plan_get_empty() 3042*2d1272b8SAndroid Build Coastguard Workerhb_shape_plan_reference() 3043*2d1272b8SAndroid Build Coastguard Workerhb_shape_plan_destroy() 3044*2d1272b8SAndroid Build Coastguard Workerhb_shape_plan_set_user_data() 3045*2d1272b8SAndroid Build Coastguard Workerhb_shape_plan_get_user_data() 3046*2d1272b8SAndroid Build Coastguard Workerhb_shape_plan_execute() 3047*2d1272b8SAndroid Build Coastguard Workerhb_shape_plan_get_shaper() 3048*2d1272b8SAndroid Build Coastguard Worker 3049*2d1272b8SAndroid Build Coastguard Workerhb_ot_shape_plan_collect_lookups() 3050*2d1272b8SAndroid Build Coastguard Worker 3051*2d1272b8SAndroid Build Coastguard Worker 3052*2d1272b8SAndroid Build Coastguard WorkerAPI changes: 3053*2d1272b8SAndroid Build Coastguard Worker 3054*2d1272b8SAndroid Build Coastguard Worker- Remove "mask" parameter from hb_buffer_add(). 3055*2d1272b8SAndroid Build Coastguard Worker- Rename hb_ot_layout_would_substitute_lookup() and hb_ot_layout_substitute_closure_lookup(). 3056*2d1272b8SAndroid Build Coastguard Worker- hb-set.h API const correction. 3057*2d1272b8SAndroid Build Coastguard Worker- Renamed hb_set_min/max() to hb_set_get_min/max(). 3058*2d1272b8SAndroid Build Coastguard Worker- Rename hb_ot_layout_feature_get_lookup_indexes() to hb_ot_layout_feature_get_lookups(). 3059*2d1272b8SAndroid Build Coastguard Worker- Rename hb_buffer_guess_properties() to hb_buffer_guess_segment_properties(). 3060*2d1272b8SAndroid Build Coastguard Worker 3061*2d1272b8SAndroid Build Coastguard Worker 3062*2d1272b8SAndroid Build Coastguard Worker 3063*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 0.9.6 3064*2d1272b8SAndroid Build Coastguard WorkerSunday, November 13, 2012 3065*2d1272b8SAndroid Build Coastguard Worker==================================== 3066*2d1272b8SAndroid Build Coastguard Worker 3067*2d1272b8SAndroid Build Coastguard Worker- Don't clear pre-context text if no new context is provided. 3068*2d1272b8SAndroid Build Coastguard Worker- Fix ReverseChainingSubstLookup, which was totally borked. 3069*2d1272b8SAndroid Build Coastguard Worker- Adjust output format of hb-shape a bit. 3070*2d1272b8SAndroid Build Coastguard Worker- Include config.h.in in-tree. Makes it easier for alternate build systems. 3071*2d1272b8SAndroid Build Coastguard Worker- Fix hb_buffer_set_length(buffer, 0) invalid memory allocation. 3072*2d1272b8SAndroid Build Coastguard Worker- Use ICU LayoutEngine's C API instead of C++. Avoids much headache. 3073*2d1272b8SAndroid Build Coastguard Worker- Drop glyphs for all of Unicode Default_Ignorable characters. 3074*2d1272b8SAndroid Build Coastguard Worker- Misc build fixes. 3075*2d1272b8SAndroid Build Coastguard Worker 3076*2d1272b8SAndroid Build Coastguard WorkerArabic shaper: 3077*2d1272b8SAndroid Build Coastguard Worker- Enable 'dlig' and 'mset' features in Arabic shaper. 3078*2d1272b8SAndroid Build Coastguard Worker- Implement 'Phags-pa shaping, improve Mongolian. 3079*2d1272b8SAndroid Build Coastguard Worker 3080*2d1272b8SAndroid Build Coastguard WorkerIndic shaper: 3081*2d1272b8SAndroid Build Coastguard Worker- Decompose Sinhala split matras the way old HarfBuzz / Pango did. 3082*2d1272b8SAndroid Build Coastguard Worker- Initial support for Consonant Medials. 3083*2d1272b8SAndroid Build Coastguard Worker- Start adding new-style Myanmar shaping. 3084*2d1272b8SAndroid Build Coastguard Worker- Make reph and 'pref' logic introspect the font. 3085*2d1272b8SAndroid Build Coastguard Worker- Route Meetei-Mayek through the Indic shaper. 3086*2d1272b8SAndroid Build Coastguard Worker- Don't apply 'liga' in Indic shaper. 3087*2d1272b8SAndroid Build Coastguard Worker- Improve Malayalam pre-base reordering Ra interaction with Chillus. 3088*2d1272b8SAndroid Build Coastguard Worker 3089*2d1272b8SAndroid Build Coastguard Worker 3090*2d1272b8SAndroid Build Coastguard Worker 3091*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 0.9.5 3092*2d1272b8SAndroid Build Coastguard WorkerSunday, October 14, 2012 3093*2d1272b8SAndroid Build Coastguard Worker==================================== 3094*2d1272b8SAndroid Build Coastguard Worker 3095*2d1272b8SAndroid Build Coastguard Worker- Synthetic-GSUB Arabic fallback shaping. 3096*2d1272b8SAndroid Build Coastguard Worker 3097*2d1272b8SAndroid Build Coastguard Worker- Misc Indic improvements. 3098*2d1272b8SAndroid Build Coastguard Worker 3099*2d1272b8SAndroid Build Coastguard Worker- Add build system support for pthread. 3100*2d1272b8SAndroid Build Coastguard Worker 3101*2d1272b8SAndroid Build Coastguard Worker- Imported UCDN for in-tree Unicode callbacks implementation. 3102*2d1272b8SAndroid Build Coastguard Worker 3103*2d1272b8SAndroid Build Coastguard Worker- Context-aware Arabic joining. 3104*2d1272b8SAndroid Build Coastguard Worker 3105*2d1272b8SAndroid Build Coastguard Worker- Misc other fixes. 3106*2d1272b8SAndroid Build Coastguard Worker 3107*2d1272b8SAndroid Build Coastguard Worker- New API: 3108*2d1272b8SAndroid Build Coastguard Worker 3109*2d1272b8SAndroid Build Coastguard Worker hb_feature_to/from-string() 3110*2d1272b8SAndroid Build Coastguard Worker hb_buffer_[sg]et_content_type() 3111*2d1272b8SAndroid Build Coastguard Worker 3112*2d1272b8SAndroid Build Coastguard Worker 3113*2d1272b8SAndroid Build Coastguard Worker 3114*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 0.9.4 3115*2d1272b8SAndroid Build Coastguard WorkerTuesday, Sep 03, 2012 3116*2d1272b8SAndroid Build Coastguard Worker==================================== 3117*2d1272b8SAndroid Build Coastguard Worker 3118*2d1272b8SAndroid Build Coastguard Worker- Indic improvements with old-spec Malayalam. 3119*2d1272b8SAndroid Build Coastguard Worker 3120*2d1272b8SAndroid Build Coastguard Worker- Better fallback glyph positioning, specially with Thai / Lao marks. 3121*2d1272b8SAndroid Build Coastguard Worker 3122*2d1272b8SAndroid Build Coastguard Worker- Implement dotted-circle insertion. 3123*2d1272b8SAndroid Build Coastguard Worker 3124*2d1272b8SAndroid Build Coastguard Worker- Better Arabic fallback shaping / ligation. 3125*2d1272b8SAndroid Build Coastguard Worker 3126*2d1272b8SAndroid Build Coastguard Worker- Added ICU LayoutEngine backend for testing. Call it by the 'icu_le' name. 3127*2d1272b8SAndroid Build Coastguard Worker 3128*2d1272b8SAndroid Build Coastguard Worker- Misc fixes. 3129*2d1272b8SAndroid Build Coastguard Worker 3130*2d1272b8SAndroid Build Coastguard Worker 3131*2d1272b8SAndroid Build Coastguard Worker 3132*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 0.9.3 3133*2d1272b8SAndroid Build Coastguard WorkerFriday, Aug 18, 2012 3134*2d1272b8SAndroid Build Coastguard Worker==================================== 3135*2d1272b8SAndroid Build Coastguard Worker 3136*2d1272b8SAndroid Build Coastguard Worker- Fixed fallback mark positioning for left-to-right text. 3137*2d1272b8SAndroid Build Coastguard Worker 3138*2d1272b8SAndroid Build Coastguard Worker- Improve mark positioning for the remaining combining classes. 3139*2d1272b8SAndroid Build Coastguard Worker 3140*2d1272b8SAndroid Build Coastguard Worker- Unbreak Thai and fallback Arabic shaping. 3141*2d1272b8SAndroid Build Coastguard Worker 3142*2d1272b8SAndroid Build Coastguard Worker- Port Arabic shaper to shape-plan caching. 3143*2d1272b8SAndroid Build Coastguard Worker 3144*2d1272b8SAndroid Build Coastguard Worker- Use new ICU normalizer functions. 3145*2d1272b8SAndroid Build Coastguard Worker 3146*2d1272b8SAndroid Build Coastguard Worker 3147*2d1272b8SAndroid Build Coastguard Worker 3148*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 0.9.2 3149*2d1272b8SAndroid Build Coastguard WorkerFriday, Aug 10, 2012 3150*2d1272b8SAndroid Build Coastguard Worker==================================== 3151*2d1272b8SAndroid Build Coastguard Worker 3152*2d1272b8SAndroid Build Coastguard Worker- Over a thousand commits! This is the first major release of HarfBuzz. 3153*2d1272b8SAndroid Build Coastguard Worker 3154*2d1272b8SAndroid Build Coastguard Worker- HarfBuzz is feature-complete now! It should be in par, or better, than 3155*2d1272b8SAndroid Build Coastguard Worker both Pango's shapers and old HarfBuzz / Qt shapers. 3156*2d1272b8SAndroid Build Coastguard Worker 3157*2d1272b8SAndroid Build Coastguard Worker- New Indic shaper, supporting main Indic scripts, Sinhala, and Khmer. 3158*2d1272b8SAndroid Build Coastguard Worker 3159*2d1272b8SAndroid Build Coastguard Worker- Improved Arabic shaper, with fallback Arabic shaping, supporting Arabic, 3160*2d1272b8SAndroid Build Coastguard Worker Sinhala, N'ko, Mongolian, and Mandaic. 3161*2d1272b8SAndroid Build Coastguard Worker 3162*2d1272b8SAndroid Build Coastguard Worker- New Thai / Lao shaper. 3163*2d1272b8SAndroid Build Coastguard Worker 3164*2d1272b8SAndroid Build Coastguard Worker- Tibetan / Hangul support in the generic shaper. 3165*2d1272b8SAndroid Build Coastguard Worker 3166*2d1272b8SAndroid Build Coastguard Worker- Synthetic GDEF support for fonts without a GDEF table. 3167*2d1272b8SAndroid Build Coastguard Worker 3168*2d1272b8SAndroid Build Coastguard Worker- Fallback mark positioning for fonts without a GPOS table. 3169*2d1272b8SAndroid Build Coastguard Worker 3170*2d1272b8SAndroid Build Coastguard Worker- Unicode normalization shaping heuristic during glyph mapping. 3171*2d1272b8SAndroid Build Coastguard Worker 3172*2d1272b8SAndroid Build Coastguard Worker- New experimental Graphite2 backend. 3173*2d1272b8SAndroid Build Coastguard Worker 3174*2d1272b8SAndroid Build Coastguard Worker- New Uniscribe backend (primarily for testing). 3175*2d1272b8SAndroid Build Coastguard Worker 3176*2d1272b8SAndroid Build Coastguard Worker- New CoreText backend (primarily for testing). 3177*2d1272b8SAndroid Build Coastguard Worker 3178*2d1272b8SAndroid Build Coastguard Worker- Major optimization and speedup. 3179*2d1272b8SAndroid Build Coastguard Worker 3180*2d1272b8SAndroid Build Coastguard Worker- Test suites and testing infrastructure (work in progress). 3181*2d1272b8SAndroid Build Coastguard Worker 3182*2d1272b8SAndroid Build Coastguard Worker- Greatly improved hb-view cmdline tool. 3183*2d1272b8SAndroid Build Coastguard Worker 3184*2d1272b8SAndroid Build Coastguard Worker- hb-shape cmdline tool. 3185*2d1272b8SAndroid Build Coastguard Worker 3186*2d1272b8SAndroid Build Coastguard Worker- Unicode 6.1 support. 3187*2d1272b8SAndroid Build Coastguard Worker 3188*2d1272b8SAndroid Build Coastguard WorkerSummary of API changes: 3189*2d1272b8SAndroid Build Coastguard Worker 3190*2d1272b8SAndroid Build Coastguard Workero Changed API: 3191*2d1272b8SAndroid Build Coastguard Worker 3192*2d1272b8SAndroid Build Coastguard Worker - Users are expected to only include main header files now (ie. hb.h, 3193*2d1272b8SAndroid Build Coastguard Worker hb-glib.h, hb-ft.h, ...) 3194*2d1272b8SAndroid Build Coastguard Worker 3195*2d1272b8SAndroid Build Coastguard Worker - All struct tag names had their initial underscore removed. 3196*2d1272b8SAndroid Build Coastguard Worker Ie. "struct _hb_buffer_t" is "struct hb_buffer_t" now. 3197*2d1272b8SAndroid Build Coastguard Worker 3198*2d1272b8SAndroid Build Coastguard Worker - All set_user_data() functions now take a "replace" boolean parameter. 3199*2d1272b8SAndroid Build Coastguard Worker 3200*2d1272b8SAndroid Build Coastguard Worker - hb_buffer_create() takes zero arguments now. 3201*2d1272b8SAndroid Build Coastguard Worker Use hb_buffer_pre_allocate() to pre-allocate. 3202*2d1272b8SAndroid Build Coastguard Worker 3203*2d1272b8SAndroid Build Coastguard Worker - hb_buffer_add_utf*() now accept -1 for length parameters, 3204*2d1272b8SAndroid Build Coastguard Worker meaning "nul-terminated". 3205*2d1272b8SAndroid Build Coastguard Worker 3206*2d1272b8SAndroid Build Coastguard Worker - hb_direction_t enum values changed. 3207*2d1272b8SAndroid Build Coastguard Worker 3208*2d1272b8SAndroid Build Coastguard Worker - All *_from_string() APIs now take a length parameter to allow for 3209*2d1272b8SAndroid Build Coastguard Worker non-nul-terminated strings. A -1 length means "nul-terminated". 3210*2d1272b8SAndroid Build Coastguard Worker 3211*2d1272b8SAndroid Build Coastguard Worker - Typedef for hb_language_t changed. 3212*2d1272b8SAndroid Build Coastguard Worker 3213*2d1272b8SAndroid Build Coastguard Worker - hb_get_table_func_t renamed to hb_reference_table_func_t. 3214*2d1272b8SAndroid Build Coastguard Worker 3215*2d1272b8SAndroid Build Coastguard Worker - hb_ot_layout_table_choose_script() 3216*2d1272b8SAndroid Build Coastguard Worker 3217*2d1272b8SAndroid Build Coastguard Worker - Various renames in hb-unicode.h. 3218*2d1272b8SAndroid Build Coastguard Worker 3219*2d1272b8SAndroid Build Coastguard Workero New API: 3220*2d1272b8SAndroid Build Coastguard Worker 3221*2d1272b8SAndroid Build Coastguard Worker - hb_buffer_guess_properties() 3222*2d1272b8SAndroid Build Coastguard Worker Automatically called by hb_shape(). 3223*2d1272b8SAndroid Build Coastguard Worker 3224*2d1272b8SAndroid Build Coastguard Worker - hb_buffer_normalize_glyphs() 3225*2d1272b8SAndroid Build Coastguard Worker 3226*2d1272b8SAndroid Build Coastguard Worker - hb_tag_from_string() 3227*2d1272b8SAndroid Build Coastguard Worker 3228*2d1272b8SAndroid Build Coastguard Worker - hb-coretext.h 3229*2d1272b8SAndroid Build Coastguard Worker 3230*2d1272b8SAndroid Build Coastguard Worker - hb-uniscribe.h 3231*2d1272b8SAndroid Build Coastguard Worker 3232*2d1272b8SAndroid Build Coastguard Worker - hb_face_reference_blob() 3233*2d1272b8SAndroid Build Coastguard Worker - hb_face_[sg]et_index() 3234*2d1272b8SAndroid Build Coastguard Worker - hb_face_set_upem() 3235*2d1272b8SAndroid Build Coastguard Worker 3236*2d1272b8SAndroid Build Coastguard Worker - hb_font_get_glyph_name_func_t 3237*2d1272b8SAndroid Build Coastguard Worker hb_font_get_glyph_from_name_func_t 3238*2d1272b8SAndroid Build Coastguard Worker hb_font_funcs_set_glyph_name_func() 3239*2d1272b8SAndroid Build Coastguard Worker hb_font_funcs_set_glyph_from_name_func() 3240*2d1272b8SAndroid Build Coastguard Worker hb_font_get_glyph_name() 3241*2d1272b8SAndroid Build Coastguard Worker hb_font_get_glyph_from_name() 3242*2d1272b8SAndroid Build Coastguard Worker hb_font_glyph_to_string() 3243*2d1272b8SAndroid Build Coastguard Worker hb_font_glyph_from_string() 3244*2d1272b8SAndroid Build Coastguard Worker 3245*2d1272b8SAndroid Build Coastguard Worker - hb_font_set_funcs_data() 3246*2d1272b8SAndroid Build Coastguard Worker 3247*2d1272b8SAndroid Build Coastguard Worker - hb_ft_font_set_funcs() 3248*2d1272b8SAndroid Build Coastguard Worker - hb_ft_font_get_face() 3249*2d1272b8SAndroid Build Coastguard Worker 3250*2d1272b8SAndroid Build Coastguard Worker - hb-gobject.h (work in progress) 3251*2d1272b8SAndroid Build Coastguard Worker 3252*2d1272b8SAndroid Build Coastguard Worker - hb_ot_shape_glyphs_closure() 3253*2d1272b8SAndroid Build Coastguard Worker hb_ot_layout_substitute_closure_lookup() 3254*2d1272b8SAndroid Build Coastguard Worker 3255*2d1272b8SAndroid Build Coastguard Worker - hb-set.h 3256*2d1272b8SAndroid Build Coastguard Worker 3257*2d1272b8SAndroid Build Coastguard Worker - hb_shape_full() 3258*2d1272b8SAndroid Build Coastguard Worker 3259*2d1272b8SAndroid Build Coastguard Worker - hb_unicode_combining_class_t 3260*2d1272b8SAndroid Build Coastguard Worker 3261*2d1272b8SAndroid Build Coastguard Worker - hb_unicode_compose_func_t 3262*2d1272b8SAndroid Build Coastguard Worker hb_unicode_decompose_func_t 3263*2d1272b8SAndroid Build Coastguard Worker hb_unicode_decompose_compatibility_func_t 3264*2d1272b8SAndroid Build Coastguard Worker hb_unicode_funcs_set_compose_func() 3265*2d1272b8SAndroid Build Coastguard Worker hb_unicode_funcs_set_decompose_func() 3266*2d1272b8SAndroid Build Coastguard Worker hb_unicode_funcs_set_decompose_compatibility_func() 3267*2d1272b8SAndroid Build Coastguard Worker hb_unicode_compose() 3268*2d1272b8SAndroid Build Coastguard Worker hb_unicode_decompose() 3269*2d1272b8SAndroid Build Coastguard Worker hb_unicode_decompose_compatibility() 3270*2d1272b8SAndroid Build Coastguard Worker 3271*2d1272b8SAndroid Build Coastguard Workero Removed API: 3272*2d1272b8SAndroid Build Coastguard Worker 3273*2d1272b8SAndroid Build Coastguard Worker - hb_ft_get_font_funcs() 3274*2d1272b8SAndroid Build Coastguard Worker 3275*2d1272b8SAndroid Build Coastguard Worker - hb_ot_layout_substitute_start() 3276*2d1272b8SAndroid Build Coastguard Worker hb_ot_layout_substitute_lookup() 3277*2d1272b8SAndroid Build Coastguard Worker hb_ot_layout_substitute_finish() 3278*2d1272b8SAndroid Build Coastguard Worker hb_ot_layout_position_start() 3279*2d1272b8SAndroid Build Coastguard Worker hb_ot_layout_position_lookup() 3280*2d1272b8SAndroid Build Coastguard Worker hb_ot_layout_position_finish() 3281*2d1272b8SAndroid Build Coastguard Worker 3282*2d1272b8SAndroid Build Coastguard Worker 3283*2d1272b8SAndroid Build Coastguard Worker 3284*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 0.6.0 3285*2d1272b8SAndroid Build Coastguard WorkerFriday, May 27, 2011 3286*2d1272b8SAndroid Build Coastguard Worker==================================== 3287*2d1272b8SAndroid Build Coastguard Worker 3288*2d1272b8SAndroid Build Coastguard Worker- Vertical text support in GPOS 3289*2d1272b8SAndroid Build Coastguard Worker- Almost all API entries have unit tests now, under test/ 3290*2d1272b8SAndroid Build Coastguard Worker- All thread-safety issues are fixed 3291*2d1272b8SAndroid Build Coastguard Worker 3292*2d1272b8SAndroid Build Coastguard WorkerSummary of API changes follows. 3293*2d1272b8SAndroid Build Coastguard Worker 3294*2d1272b8SAndroid Build Coastguard Worker 3295*2d1272b8SAndroid Build Coastguard Worker* Simple Types API: 3296*2d1272b8SAndroid Build Coastguard Worker 3297*2d1272b8SAndroid Build Coastguard Worker o New API: 3298*2d1272b8SAndroid Build Coastguard Worker HB_LANGUAGE_INVALID 3299*2d1272b8SAndroid Build Coastguard Worker hb_language_get_default() 3300*2d1272b8SAndroid Build Coastguard Worker hb_direction_to_string() 3301*2d1272b8SAndroid Build Coastguard Worker hb_direction_from_string() 3302*2d1272b8SAndroid Build Coastguard Worker hb_script_get_horizontal_direction() 3303*2d1272b8SAndroid Build Coastguard Worker HB_UNTAG() 3304*2d1272b8SAndroid Build Coastguard Worker 3305*2d1272b8SAndroid Build Coastguard Worker o Renamed API: 3306*2d1272b8SAndroid Build Coastguard Worker hb_category_t renamed to hb_unicode_general_category_t 3307*2d1272b8SAndroid Build Coastguard Worker 3308*2d1272b8SAndroid Build Coastguard Worker o Changed API: 3309*2d1272b8SAndroid Build Coastguard Worker hb_language_t is a typed pointers now 3310*2d1272b8SAndroid Build Coastguard Worker 3311*2d1272b8SAndroid Build Coastguard Worker o Removed API: 3312*2d1272b8SAndroid Build Coastguard Worker HB_TAG_STR() 3313*2d1272b8SAndroid Build Coastguard Worker 3314*2d1272b8SAndroid Build Coastguard Worker 3315*2d1272b8SAndroid Build Coastguard Worker* Use ISO 15924 tags for hb_script_t: 3316*2d1272b8SAndroid Build Coastguard Worker 3317*2d1272b8SAndroid Build Coastguard Worker o New API: 3318*2d1272b8SAndroid Build Coastguard Worker hb_script_from_iso15924_tag() 3319*2d1272b8SAndroid Build Coastguard Worker hb_script_to_iso15924_tag() 3320*2d1272b8SAndroid Build Coastguard Worker hb_script_from_string() 3321*2d1272b8SAndroid Build Coastguard Worker 3322*2d1272b8SAndroid Build Coastguard Worker o Changed API: 3323*2d1272b8SAndroid Build Coastguard Worker HB_SCRIPT_* enum members changed value. 3324*2d1272b8SAndroid Build Coastguard Worker 3325*2d1272b8SAndroid Build Coastguard Worker 3326*2d1272b8SAndroid Build Coastguard Worker* Buffer API streamlined: 3327*2d1272b8SAndroid Build Coastguard Worker 3328*2d1272b8SAndroid Build Coastguard Worker o New API: 3329*2d1272b8SAndroid Build Coastguard Worker hb_buffer_reset() 3330*2d1272b8SAndroid Build Coastguard Worker hb_buffer_set_length() 3331*2d1272b8SAndroid Build Coastguard Worker hb_buffer_allocation_successful() 3332*2d1272b8SAndroid Build Coastguard Worker 3333*2d1272b8SAndroid Build Coastguard Worker o Renamed API: 3334*2d1272b8SAndroid Build Coastguard Worker hb_buffer_ensure() renamed to hb_buffer_pre_allocate() 3335*2d1272b8SAndroid Build Coastguard Worker hb_buffer_add_glyph() renamed to hb_buffer_add() 3336*2d1272b8SAndroid Build Coastguard Worker 3337*2d1272b8SAndroid Build Coastguard Worker o Removed API: 3338*2d1272b8SAndroid Build Coastguard Worker hb_buffer_clear() 3339*2d1272b8SAndroid Build Coastguard Worker hb_buffer_clear_positions() 3340*2d1272b8SAndroid Build Coastguard Worker 3341*2d1272b8SAndroid Build Coastguard Worker o Changed API: 3342*2d1272b8SAndroid Build Coastguard Worker hb_buffer_get_glyph_infos() takes an out length parameter now 3343*2d1272b8SAndroid Build Coastguard Worker hb_buffer_get_glyph_positions() takes an out length parameter now 3344*2d1272b8SAndroid Build Coastguard Worker 3345*2d1272b8SAndroid Build Coastguard Worker 3346*2d1272b8SAndroid Build Coastguard Worker* Blob API streamlined: 3347*2d1272b8SAndroid Build Coastguard Worker 3348*2d1272b8SAndroid Build Coastguard Worker o New API: 3349*2d1272b8SAndroid Build Coastguard Worker hb_blob_get_data() 3350*2d1272b8SAndroid Build Coastguard Worker hb_blob_get_data_writable() 3351*2d1272b8SAndroid Build Coastguard Worker 3352*2d1272b8SAndroid Build Coastguard Worker o Renamed API: 3353*2d1272b8SAndroid Build Coastguard Worker hb_blob_create_empty() renamed to hb_blob_get_empty() 3354*2d1272b8SAndroid Build Coastguard Worker 3355*2d1272b8SAndroid Build Coastguard Worker o Removed API: 3356*2d1272b8SAndroid Build Coastguard Worker hb_blob_lock() 3357*2d1272b8SAndroid Build Coastguard Worker hb_blob_unlock() 3358*2d1272b8SAndroid Build Coastguard Worker hb_blob_is_writable() 3359*2d1272b8SAndroid Build Coastguard Worker hb_blob_try_writable() 3360*2d1272b8SAndroid Build Coastguard Worker 3361*2d1272b8SAndroid Build Coastguard Worker o Changed API: 3362*2d1272b8SAndroid Build Coastguard Worker hb_blob_create() takes user_data before destroy now 3363*2d1272b8SAndroid Build Coastguard Worker 3364*2d1272b8SAndroid Build Coastguard Worker 3365*2d1272b8SAndroid Build Coastguard Worker* Unicode functions API: 3366*2d1272b8SAndroid Build Coastguard Worker 3367*2d1272b8SAndroid Build Coastguard Worker o Unicode function vectors can subclass other unicode function vectors now. 3368*2d1272b8SAndroid Build Coastguard Worker Unimplemented callbacks in the subclass automatically chainup to the parent. 3369*2d1272b8SAndroid Build Coastguard Worker 3370*2d1272b8SAndroid Build Coastguard Worker o All hb_unicode_funcs_t callbacks take a user_data now. Their setters 3371*2d1272b8SAndroid Build Coastguard Worker take a user_data and its respective destroy callback. 3372*2d1272b8SAndroid Build Coastguard Worker 3373*2d1272b8SAndroid Build Coastguard Worker o New API: 3374*2d1272b8SAndroid Build Coastguard Worker hb_unicode_funcs_get_empty() 3375*2d1272b8SAndroid Build Coastguard Worker hb_unicode_funcs_get_default() 3376*2d1272b8SAndroid Build Coastguard Worker hb_unicode_funcs_get_parent() 3377*2d1272b8SAndroid Build Coastguard Worker 3378*2d1272b8SAndroid Build Coastguard Worker o Changed API: 3379*2d1272b8SAndroid Build Coastguard Worker hb_unicode_funcs_create() now takes a parent_funcs. 3380*2d1272b8SAndroid Build Coastguard Worker 3381*2d1272b8SAndroid Build Coastguard Worker o Removed func getter functions: 3382*2d1272b8SAndroid Build Coastguard Worker hb_unicode_funcs_get_mirroring_func() 3383*2d1272b8SAndroid Build Coastguard Worker hb_unicode_funcs_get_general_category_func() 3384*2d1272b8SAndroid Build Coastguard Worker hb_unicode_funcs_get_script_func() 3385*2d1272b8SAndroid Build Coastguard Worker hb_unicode_funcs_get_combining_class_func() 3386*2d1272b8SAndroid Build Coastguard Worker hb_unicode_funcs_get_eastasian_width_func() 3387*2d1272b8SAndroid Build Coastguard Worker 3388*2d1272b8SAndroid Build Coastguard Worker 3389*2d1272b8SAndroid Build Coastguard Worker* Face API: 3390*2d1272b8SAndroid Build Coastguard Worker 3391*2d1272b8SAndroid Build Coastguard Worker o Renamed API: 3392*2d1272b8SAndroid Build Coastguard Worker hb_face_get_table() renamed to hb_face_reference_table() 3393*2d1272b8SAndroid Build Coastguard Worker hb_face_create_for_data() renamed to hb_face_create() 3394*2d1272b8SAndroid Build Coastguard Worker 3395*2d1272b8SAndroid Build Coastguard Worker o Changed API: 3396*2d1272b8SAndroid Build Coastguard Worker hb_face_create_for_tables() takes user_data before destroy now 3397*2d1272b8SAndroid Build Coastguard Worker hb_face_reference_table() returns empty blob instead of NULL 3398*2d1272b8SAndroid Build Coastguard Worker hb_get_table_func_t accepts the face as first parameter now 3399*2d1272b8SAndroid Build Coastguard Worker 3400*2d1272b8SAndroid Build Coastguard Worker* Font API: 3401*2d1272b8SAndroid Build Coastguard Worker 3402*2d1272b8SAndroid Build Coastguard Worker o Fonts can subclass other fonts now. Unimplemented callbacks in the 3403*2d1272b8SAndroid Build Coastguard Worker subclass automatically chainup to the parent. When chaining up, 3404*2d1272b8SAndroid Build Coastguard Worker scale is adjusted if the parent font has a different scale. 3405*2d1272b8SAndroid Build Coastguard Worker 3406*2d1272b8SAndroid Build Coastguard Worker o All hb_font_funcs_t callbacks take a user_data now. Their setters 3407*2d1272b8SAndroid Build Coastguard Worker take a user_data and its respective destroy callback. 3408*2d1272b8SAndroid Build Coastguard Worker 3409*2d1272b8SAndroid Build Coastguard Worker o New API: 3410*2d1272b8SAndroid Build Coastguard Worker hb_font_get_parent() 3411*2d1272b8SAndroid Build Coastguard Worker hb_font_funcs_get_empty() 3412*2d1272b8SAndroid Build Coastguard Worker hb_font_create_sub_font() 3413*2d1272b8SAndroid Build Coastguard Worker 3414*2d1272b8SAndroid Build Coastguard Worker o Removed API: 3415*2d1272b8SAndroid Build Coastguard Worker hb_font_funcs_copy() 3416*2d1272b8SAndroid Build Coastguard Worker hb_font_unset_funcs() 3417*2d1272b8SAndroid Build Coastguard Worker 3418*2d1272b8SAndroid Build Coastguard Worker o Removed func getter functions: 3419*2d1272b8SAndroid Build Coastguard Worker hb_font_funcs_get_glyph_func() 3420*2d1272b8SAndroid Build Coastguard Worker hb_font_funcs_get_glyph_advance_func() 3421*2d1272b8SAndroid Build Coastguard Worker hb_font_funcs_get_glyph_extents_func() 3422*2d1272b8SAndroid Build Coastguard Worker hb_font_funcs_get_contour_point_func() 3423*2d1272b8SAndroid Build Coastguard Worker hb_font_funcs_get_kerning_func() 3424*2d1272b8SAndroid Build Coastguard Worker 3425*2d1272b8SAndroid Build Coastguard Worker o Changed API: 3426*2d1272b8SAndroid Build Coastguard Worker hb_font_create() takes a face and references it now 3427*2d1272b8SAndroid Build Coastguard Worker hb_font_set_funcs() takes user_data before destroy now 3428*2d1272b8SAndroid Build Coastguard Worker hb_font_set_scale() accepts signed integers now 3429*2d1272b8SAndroid Build Coastguard Worker hb_font_get_contour_point_func_t now takes glyph first, then point_index 3430*2d1272b8SAndroid Build Coastguard Worker hb_font_get_glyph_func_t returns a success boolean now 3431*2d1272b8SAndroid Build Coastguard Worker 3432*2d1272b8SAndroid Build Coastguard Worker 3433*2d1272b8SAndroid Build Coastguard Worker* Changed object model: 3434*2d1272b8SAndroid Build Coastguard Worker 3435*2d1272b8SAndroid Build Coastguard Worker o All object types have a _get_empty() now: 3436*2d1272b8SAndroid Build Coastguard Worker hb_blob_get_empty() 3437*2d1272b8SAndroid Build Coastguard Worker hb_buffer_get_empty() 3438*2d1272b8SAndroid Build Coastguard Worker hb_face_get_empty() 3439*2d1272b8SAndroid Build Coastguard Worker hb_font_get_empty() 3440*2d1272b8SAndroid Build Coastguard Worker hb_font_funcs_get_empty() 3441*2d1272b8SAndroid Build Coastguard Worker hb_unicode_funcs_get_empty() 3442*2d1272b8SAndroid Build Coastguard Worker 3443*2d1272b8SAndroid Build Coastguard Worker o Added _set_user_data() and _get_user_data() for all object types: 3444*2d1272b8SAndroid Build Coastguard Worker hb_blob_get_user_data() 3445*2d1272b8SAndroid Build Coastguard Worker hb_blob_set_user_data() 3446*2d1272b8SAndroid Build Coastguard Worker hb_buffer_get_user_data() 3447*2d1272b8SAndroid Build Coastguard Worker hb_buffer_set_user_data() 3448*2d1272b8SAndroid Build Coastguard Worker hb_face_get_user_data() 3449*2d1272b8SAndroid Build Coastguard Worker hb_face_set_user_data() 3450*2d1272b8SAndroid Build Coastguard Worker hb_font_funcs_get_user_data() 3451*2d1272b8SAndroid Build Coastguard Worker hb_font_funcs_set_user_data() 3452*2d1272b8SAndroid Build Coastguard Worker hb_font_get_user_data() 3453*2d1272b8SAndroid Build Coastguard Worker hb_font_set_user_data() 3454*2d1272b8SAndroid Build Coastguard Worker hb_unicode_funcs_get_user_data() 3455*2d1272b8SAndroid Build Coastguard Worker hb_unicode_funcs_set_user_data() 3456*2d1272b8SAndroid Build Coastguard Worker 3457*2d1272b8SAndroid Build Coastguard Worker o Removed the _get_reference_count() from all object types: 3458*2d1272b8SAndroid Build Coastguard Worker hb_blob_get_reference_count() 3459*2d1272b8SAndroid Build Coastguard Worker hb_buffer_get_reference_count() 3460*2d1272b8SAndroid Build Coastguard Worker hb_face_get_reference_count() 3461*2d1272b8SAndroid Build Coastguard Worker hb_font_funcs_get_reference_count() 3462*2d1272b8SAndroid Build Coastguard Worker hb_font_get_reference_count() 3463*2d1272b8SAndroid Build Coastguard Worker hb_unicode_funcs_get_reference_count() 3464*2d1272b8SAndroid Build Coastguard Worker 3465*2d1272b8SAndroid Build Coastguard Worker o Added _make_immutable() and _is_immutable() for all object types except for buffer: 3466*2d1272b8SAndroid Build Coastguard Worker hb_blob_make_immutable() 3467*2d1272b8SAndroid Build Coastguard Worker hb_blob_is_immutable() 3468*2d1272b8SAndroid Build Coastguard Worker hb_face_make_immutable() 3469*2d1272b8SAndroid Build Coastguard Worker hb_face_is_immutable() 3470*2d1272b8SAndroid Build Coastguard Worker 3471*2d1272b8SAndroid Build Coastguard Worker 3472*2d1272b8SAndroid Build Coastguard Worker* Changed API for vertical text support 3473*2d1272b8SAndroid Build Coastguard Worker 3474*2d1272b8SAndroid Build Coastguard Worker o The following callbacks where removed: 3475*2d1272b8SAndroid Build Coastguard Worker hb_font_get_glyph_advance_func_t 3476*2d1272b8SAndroid Build Coastguard Worker hb_font_get_kerning_func_t 3477*2d1272b8SAndroid Build Coastguard Worker 3478*2d1272b8SAndroid Build Coastguard Worker o The following new callbacks added instead: 3479*2d1272b8SAndroid Build Coastguard Worker hb_font_get_glyph_h_advance_func_t 3480*2d1272b8SAndroid Build Coastguard Worker hb_font_get_glyph_v_advance_func_t 3481*2d1272b8SAndroid Build Coastguard Worker hb_font_get_glyph_h_origin_func_t 3482*2d1272b8SAndroid Build Coastguard Worker hb_font_get_glyph_v_origin_func_t 3483*2d1272b8SAndroid Build Coastguard Worker hb_font_get_glyph_h_kerning_func_t 3484*2d1272b8SAndroid Build Coastguard Worker hb_font_get_glyph_v_kerning_func_t 3485*2d1272b8SAndroid Build Coastguard Worker 3486*2d1272b8SAndroid Build Coastguard Worker o The following API removed as such: 3487*2d1272b8SAndroid Build Coastguard Worker hb_font_funcs_set_glyph_advance_func() 3488*2d1272b8SAndroid Build Coastguard Worker hb_font_funcs_set_kerning_func() 3489*2d1272b8SAndroid Build Coastguard Worker hb_font_get_glyph_advance() 3490*2d1272b8SAndroid Build Coastguard Worker hb_font_get_kerning() 3491*2d1272b8SAndroid Build Coastguard Worker 3492*2d1272b8SAndroid Build Coastguard Worker o New API added instead: 3493*2d1272b8SAndroid Build Coastguard Worker hb_font_funcs_set_glyph_h_advance_func() 3494*2d1272b8SAndroid Build Coastguard Worker hb_font_funcs_set_glyph_v_advance_func() 3495*2d1272b8SAndroid Build Coastguard Worker hb_font_funcs_set_glyph_h_origin_func() 3496*2d1272b8SAndroid Build Coastguard Worker hb_font_funcs_set_glyph_v_origin_func() 3497*2d1272b8SAndroid Build Coastguard Worker hb_font_funcs_set_glyph_h_kerning_func() 3498*2d1272b8SAndroid Build Coastguard Worker hb_font_funcs_set_glyph_v_kerning_func() 3499*2d1272b8SAndroid Build Coastguard Worker hb_font_get_glyph_h_advance() 3500*2d1272b8SAndroid Build Coastguard Worker hb_font_get_glyph_v_advance() 3501*2d1272b8SAndroid Build Coastguard Worker hb_font_get_glyph_h_origin() 3502*2d1272b8SAndroid Build Coastguard Worker hb_font_get_glyph_v_origin() 3503*2d1272b8SAndroid Build Coastguard Worker hb_font_get_glyph_h_kerning() 3504*2d1272b8SAndroid Build Coastguard Worker hb_font_get_glyph_v_kerning() 3505*2d1272b8SAndroid Build Coastguard Worker 3506*2d1272b8SAndroid Build Coastguard Worker o The following higher-leve API added for convenience: 3507*2d1272b8SAndroid Build Coastguard Worker hb_font_get_glyph_advance_for_direction() 3508*2d1272b8SAndroid Build Coastguard Worker hb_font_get_glyph_origin_for_direction() 3509*2d1272b8SAndroid Build Coastguard Worker hb_font_add_glyph_origin_for_direction() 3510*2d1272b8SAndroid Build Coastguard Worker hb_font_subtract_glyph_origin_for_direction() 3511*2d1272b8SAndroid Build Coastguard Worker hb_font_get_glyph_kerning_for_direction() 3512*2d1272b8SAndroid Build Coastguard Worker hb_font_get_glyph_extents_for_origin() 3513*2d1272b8SAndroid Build Coastguard Worker hb_font_get_glyph_contour_point_for_origin() 3514*2d1272b8SAndroid Build Coastguard Worker 3515*2d1272b8SAndroid Build Coastguard Worker 3516*2d1272b8SAndroid Build Coastguard Worker* OpenType Layout API: 3517*2d1272b8SAndroid Build Coastguard Worker 3518*2d1272b8SAndroid Build Coastguard Worker o New API: 3519*2d1272b8SAndroid Build Coastguard Worker hb_ot_layout_position_start() 3520*2d1272b8SAndroid Build Coastguard Worker hb_ot_layout_substitute_start() 3521*2d1272b8SAndroid Build Coastguard Worker hb_ot_layout_substitute_finish() 3522*2d1272b8SAndroid Build Coastguard Worker 3523*2d1272b8SAndroid Build Coastguard Worker 3524*2d1272b8SAndroid Build Coastguard Worker* Glue code: 3525*2d1272b8SAndroid Build Coastguard Worker 3526*2d1272b8SAndroid Build Coastguard Worker o New API: 3527*2d1272b8SAndroid Build Coastguard Worker hb_glib_script_to_script() 3528*2d1272b8SAndroid Build Coastguard Worker hb_glib_script_from_script() 3529*2d1272b8SAndroid Build Coastguard Worker hb_icu_script_to_script() 3530*2d1272b8SAndroid Build Coastguard Worker hb_icu_script_from_script() 3531*2d1272b8SAndroid Build Coastguard Worker 3532*2d1272b8SAndroid Build Coastguard Worker 3533*2d1272b8SAndroid Build Coastguard Worker* Version API added: 3534*2d1272b8SAndroid Build Coastguard Worker 3535*2d1272b8SAndroid Build Coastguard Worker o New API: 3536*2d1272b8SAndroid Build Coastguard Worker HB_VERSION_MAJOR 3537*2d1272b8SAndroid Build Coastguard Worker HB_VERSION_MINOR 3538*2d1272b8SAndroid Build Coastguard Worker HB_VERSION_MICRO 3539*2d1272b8SAndroid Build Coastguard Worker HB_VERSION_STRING 3540*2d1272b8SAndroid Build Coastguard Worker HB_VERSION_CHECK() 3541*2d1272b8SAndroid Build Coastguard Worker hb_version() 3542*2d1272b8SAndroid Build Coastguard Worker hb_version_string() 3543*2d1272b8SAndroid Build Coastguard Worker hb_version_check() 3544*2d1272b8SAndroid Build Coastguard Worker 3545*2d1272b8SAndroid Build Coastguard Worker 3546