src/hb-ot-font.cc


Log

Author Commit Date CI Message
blueshade7 82545c5e 2019-11-26T10:24:32 more coding style fixes
blueshade7 2e7c1239 2019-11-26T09:57:53 minor: coding style
blueshade7 ff87465b 2019-11-19T16:18:33 add get_glyph_from_name & test. use hb_string_array
blueshade7 7b49042e 2019-11-16T18:20:16 add cff1::get_glyph_name
Ebrahim Byagowi b068e25f 2019-10-08T16:29:15 [glyf] Address Behdad's reviews Addresses https://github.com/harfbuzz/harfbuzz/pull/1999#issuecomment-539298559 * Don't check against Null pool * Remove cryptic _tt suffix
Ebrahim Byagowi d73cdcf3 2019-10-06T18:09:14 [ot-font] Apply font scaling before turning to int
Ebrahim Byagowi 74a2dbbc 2019-10-06T17:06:40 minor
Ebrahim Byagowi 100dbcca 2019-10-06T09:18:22 Merge remote-tracking branch 'upstream/master' into var-subset
Ebrahim Byagowi ee761018 2019-10-03T15:59:45 [hmtx] Use more conventional internal API style
Ebrahim Byagowi 57528636 2019-10-05T23:51:50 [glyf][gvar] Make HB_NO_VAR buildable
Michiharu Ariza b9ff43c1 2019-10-01T16:13:40 Implement gvar table and variable glyf Split from Ariza's "[subset] TrueType/CFF2 variable font" work on #1594
Ebrahim Byagowi 79ec65ae 2019-10-03T14:27:51 [ot-font] Use var vmtx side bearing in calculating v-origin
Ebrahim Byagowi 9ff32b79 2019-08-29T19:53:18 Merge remote-tracking branch 'upstream/master' into glyf-rebase
Ebrahim Byagowi a0b4ac4d 2019-08-24T17:57:14 Turn 8 spaces to tab across the project According to the current code style of the project
Michiharu Ariza 6b3e0939 2019-07-31T16:04:48 Merge branch 'master' into var-subset
Ebrahim Byagowi 20072a2e 2019-07-30T03:43:15 [metrics] Make values match their enum type naming
blueshade7 5988ab8a 2019-07-22T14:36:16 Merge branch 'master' into var-subset
Behdad Esfahbod 77141dff 2019-07-22T07:48:32 [metrics] _-prefix internal symbol
Ebrahim Byagowi 772e6268 2019-07-20T14:50:31 Make HB_TINY builds work again by separating the always needed part
Ebrahim Byagowi 29444d7e 2019-07-20T13:52:21 Don't cache ascender/descender metrics
blueshade7 8bf989ea 2019-07-08T17:13:29 update from master
Behdad Esfahbod 230adf2c 2019-06-19T18:49:52 [config] Add HB_NO_OT_FONT_GLYPH_NAMES Part of https://github.com/harfbuzz/harfbuzz/issues/1652
Behdad Esfahbod 1432df10 2019-06-19T18:32:40 [config] Disable hb-ot-font code if HB_NO_OT_FONT Part of https://github.com/harfbuzz/harfbuzz/issues/1652
Behdad Esfahbod d7e27cd6 2019-06-18T14:38:05 [config] Don't use VORG table if HB_NO_OT_FONT_CFF Part of https://github.com/harfbuzz/harfbuzz/issues/1652
Behdad Esfahbod eb2825c7 2019-06-17T13:42:53 Minor
Michiharu Ariza 8f8e8a84 2019-06-05T12:59:09 fix build
Michiharu Ariza 4ddab6fa 2019-06-05T11:21:27 Merge branch 'master' into var-subset
Behdad Esfahbod a6048e4c 2019-05-11T12:11:22 Fix build
Behdad Esfahbod 32d3c06b 2019-05-11T11:59:18 Disable sbix if no-color or no-ot-font-bitmap Part of https://github.com/harfbuzz/harfbuzz/issues/1652
Behdad Esfahbod 227d85e1 2019-05-10T23:15:58 Minor
Michiharu Ariza 6cde814a 2019-04-16T11:35:07 Merge branch 'master' into var-subset
Behdad Esfahbod 60a58aa6 2019-04-12T14:58:53 Add HB_NO_OT_FONT_BITMAP Part of https://github.com/harfbuzz/harfbuzz/issues/1652
Behdad Esfahbod 160c4d8b 2019-04-12T14:57:49 Add HB_NO_OT_FONT_CFF Part of https://github.com/harfbuzz/harfbuzz/issues/1652
Michiharu Ariza e8140832 2019-04-11T09:59:13 undo hb_ot_ge_glyph_v_origin to fix test failures
Michiharu Ariza ab9d3096 2019-04-10T17:21:37 Add tt var metrics test cases & bug fixes
Michiharu Ariza c302ec6d 2019-03-17T15:36:26 moved most of var code from gvar to glyf initialize phantom points from metrics from htmx/vmtx & glyf bbox before execution added source file hb-ot-hmtx-table.cc to call glyf from hmtx/vmtx indirectly & temporarily, workaround a cyclic reference between the two
Michiharu Ariza 628d457c 2019-03-12T11:03:53 add gvar::get_extents
Michiharu Ariza 8a7998fd 2019-03-17T15:36:26 moved most of var code from gvar to glyf initialize phantom points from metrics from htmx/vmtx & glyf bbox before execution added source file hb-ot-hmtx-table.cc to call glyf from hmtx/vmtx indirectly & temporarily, workaround a cyclic reference between the two
Michiharu Ariza d23c201f 2019-03-12T11:03:53 add gvar::get_extents
Michiharu Ariza 99502b32 2019-03-12T11:03:53 add gvar::get_extents
Evgeniy Reizner d29c8424 2019-02-19T18:35:00 Typo (#1588) Fixed a small typo. [skip ci]
Behdad Esfahbod 447323b8 2019-01-22T12:45:40 Better fix for -Wcast-align errors
Behdad Esfahbod 81ec543d 2019-01-22T12:43:12 More -Wcast-error fixes
Behdad Esfahbod 8d05bf7d 2019-01-22T12:34:05 Fix cast-align error If compiler doesn't inline StructAtOffset, this was an error since we only disable cast-align at call-site. So, move the cast out. ../src/hb-machinery.hh: In instantiation of 'const Type& StructAtOffset(const void*, unsigned int) [with Type = unsigned int]': ../src/hb-font.cc:146:85: required from here ../src/hb-machinery.hh:63:12: error: cast from 'const char*' to 'const unsigned int*' increases required alignment of target type [-Werror=cast-align] { return * reinterpret_cast<const Type*> ((const char *) P + offset); } ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/hb-machinery.hh: In instantiation of 'Type& StructAtOffset(void*, unsigned int) [with Type = unsigned int]': ../src/hb-font.cc:147:79: required from here ../src/hb-machinery.hh:66:12: error: cast from 'char*' to 'unsigned int*' increases required alignment of target type [-Werror=cast-align] { return * reinterpret_cast<Type*> ((char *) P + offset); } ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Behdad Esfahbod b900f780 2019-01-18T10:08:23 [pragma] More cast-align whitelist
Ebrahim Byagowi e4120085 2018-12-17T21:31:01 Remove redundant void from C++ sources (#1486)
Ebrahim Byagowi b2ebaa9a 2018-12-16T22:38:10 Remove redundant 'inline' from methods (#1483)
Michiharu Ariza 32d291ae 2018-11-28T16:27:45 Merge branch 'master' into cff-subset
Behdad Esfahbod b89c7fd3 2018-11-21T12:32:48 Allow defining HB_USE_ATEXIT to 0 That's better use of that value than requiring extra macro HB_NO_ATEXIT
Michiharu Ariza 892ab37e 2018-11-14T13:54:07 Merge branch 'master' into cff-subset
Ebrahim Byagowi 7867c2ba 2018-11-14T22:13:50 [STAT] Add table parsing (#1384)
Michiharu Ariza 43ee0e4d 2018-11-06T09:57:17 Merge branch 'master' into cff-subset
Behdad Esfahbod 9198de7b 2018-11-05T23:10:37 [ot-font] Remove ensure
Behdad Esfahbod 0fe7a745 2018-11-05T23:08:33 [ot-face] Simplify more table access
Behdad Esfahbod 914b595f 2018-11-05T22:39:50 [ot-face] Include hb-ot-face directly in hb_face_t Simplifying access coming next.
Behdad Esfahbod 56ba998c 2018-11-05T19:49:54 [cmap] Push get_nominal_glyphs down into cmap accelerator
Behdad Esfahbod 03348ce0 2018-11-05T12:59:32 Minor
Michiharu Ariza e600e544 2018-11-01T16:13:56 Merge branch 'master' into cff-subset
Ebrahim Byagowi c929ccfc 2018-10-29T08:41:13 [ot-color/png] Consider strike ppem on scaling
Behdad Esfahbod 01c7d53f 2018-10-28T14:51:18 [sbix] Select best strike based on ppem
Behdad Esfahbod f9f26bff 2018-10-28T14:20:50 [sbix] Move code around. Add get_extents()
Ebrahim Byagowi 632e9af8 2018-10-28T23:43:50 [ot-color] Implement PNGHeader and test it, it doesn't work however
Ebrahim Byagowi 38706a07 2018-10-28T23:19:04 [ot-color] Preparation for setting PNG width/height in extents
Behdad Esfahbod d6d6f3bc 2018-10-28T11:41:33 [docs] Add comment
Behdad Esfahbod 80d9a427 2018-10-27T04:58:32 [docs] Document remaining sections
Michiharu Ariza e1241636 2018-10-23T11:25:51 Merge branch 'master' into cff-subset
Behdad Esfahbod 48ed598a 2018-10-23T02:19:32 [VORG] Hook up to hb-ot-font's v_origin Fixes https://github.com/harfbuzz/harfbuzz/issues/544 Test added with NotoSansCJK, eg. with U+FF38.
Michiharu Ariza 9ade3e7b 2018-10-15T14:03:23 Merge branch 'master' into cff-subset
Behdad Esfahbod 8dc62968 2018-10-15T01:09:05 [ot-font] Implement TrueType v_origin Fixes https://github.com/harfbuzz/harfbuzz/issues/537
Michiharu Ariza c06a5dff 2018-10-09T22:00:10 Merge branch 'master' into cff-subset
Behdad Esfahbod 55153553 2018-10-09T15:12:09 [ot-font] Don't pre-load cmap table Now that we have get_h_advances() and get_nominal_glyphs() implemented, the overhead of doing a proper atomic load would be once per run, NOT once per glyph. So, no need to pre-load the tables to avoid that overhead. As such, hb_ot_font_set_funcs() has become really cheap. Can *finally* make it be default font functions on all newly created fonts!
Behdad Esfahbod ec84460e 2018-10-09T15:07:04 [ot/ft] Implement get_nominal_glyphs() callback Some more measurable speedup. The recent commits' speedups are as follows: Testing with Roboto, ****when disabling kern and liga****: Before: FT --features=-kern,-liga user↦ 0m0.521s OT --features=-liga,-kern user↦ 0m0.568s After: FT --features=-liga,-kern user↦ 0m0.428s OT --features=-liga,-kern user↦ 0m0.470s So, 17% speedup. Note that FT callbacks are faster than OT these days since we added an advance cache to FT. I don't think the difference is enough to justify adding a cache to OT. When not disabling kern, the thing is three times slower, so the speedups are three times less impressive... Still, 5% not bad for a codebase that I otherwise thought is optimized out. Note that, because of this and other optimiztions in our main shaper, disabling kern and liga, the OT shaper is now *faster* than the fallback shaper. So, that's my recommendation to clients that need the absolute fastest...
Michiharu Ariza f5f505b5 2018-10-09T10:10:35 Merge branch 'master' into cff-subset
Behdad Esfahbod bee93e26 2018-10-09T08:01:49 Add const to get_*_advances API Ouch!
Michiharu Ariza 8b349040 2018-10-08T21:46:23 Merge branch 'master' into cff-subset
Behdad Esfahbod 47030b18 2018-10-09T00:30:45 [ft/ot] Remove implementation of deprecated kerning funcs
Michiharu Ariza a90fd8b9 2018-10-08T15:07:58 Merge branch 'master' into cff-subset
Michiharu Ariza b51418f5 2018-10-08T15:05:36 added CFF2 get_extents added source hb-ot-cff2-table.cc augmented VariationData to return scalars misc bug fixes, renaming, cleanup
Behdad Esfahbod 13da3be0 2018-10-07T18:23:45 [ot-font] Load hmtx/vmtx lazily Since we have get_*_advanes() API now, the overhead is once per shape, not once per glyph. Only cmap is warmed-up at set_funcs() time now.
Behdad Esfahbod 856db4c9 2018-10-07T18:21:15 Minor
Michiharu Ariza 3dd43f02 2018-10-01T10:22:06 Merge branch 'master' into cff-subset
Behdad Esfahbod 8a31e406 2018-09-30T05:27:39 [font] Make *_advance() fallback to *_advances And remove redundant implementations.
Michiharu Ariza c0c85b85 2018-09-17T11:14:56 implemented get_glyph_extents with CFF1 Implemented path operators in a new struct PathProc hooked up to CSOpSet Added current point to CSInterpEnv
Michiharu Ariza 45e564a5 2018-09-11T09:46:37 Merge branch 'master' into cff-subset
Behdad Esfahbod cbea7d49 2018-09-11T12:56:17 [ot-font] Rename
Behdad Esfahbod d8a67dac 2018-09-11T12:55:54 [ot-font] Add advances() callbacks
Michiharu Ariza 8af9690a 2018-08-29T13:26:17 Merge branch 'master' into cff-subset Renamed cff "private" source/headers without the suffix
Behdad Esfahbod a2680680 2018-08-26T15:18:46 [ot-face] Remove tables_t. The face_data_t is what tables_t was
Behdad Esfahbod 3a0b3a29 2018-08-26T15:11:24 Free up hb-ot-face.hh from includes There might be a better way to do this, but I couldn't find...
Behdad Esfahbod e6cb9380 2018-08-26T00:21:29 [ot-face] Unify accelerators and tables
Behdad Esfahbod 59bca0d2 2018-08-26T00:06:12 [ot-font] Rename
Behdad Esfahbod 1c48a7ef 2018-08-25T23:54:06 [ot-font] Cache tables on face, not font
Behdad Esfahbod 71f8893e 2018-08-25T23:27:45 [ot-font] Use init0
Behdad Esfahbod f36ae6f8 2018-08-25T23:19:34 [ot-font] Make everything (cmap/metrics) lazy
Behdad Esfahbod 62fc5472 2018-08-25T23:15:52 [ot-font] Fallback vertical advance to UPEM Used to be ascent+descent. Whatever. This is more convenient for upcoming changes.
Behdad Esfahbod c77ae408 2018-08-25T22:36:36 Rename hb-*private.hh to hb-*.hh Sorry for the noise, downstream custom builders. Please adjust.
Michiharu Ariza fdbfa184 2018-08-16T00:13:09 renamed CFF version 1 structs and sources to CFF1 from CFF "CFF" is used for shared structs & sources between CFF1 & CFF2 except OT:cff is for CFF version 1 table
Michiharu Ariza 25b8310b 2018-08-15T15:00:55 Merge branch 'master' into cff-subset
Emil A Eklund 7112c641 2018-08-14T13:50:24 Guard free_static function definitions with macro Add HB_USE_ATEXIT macros around free_static function definitions to avoid unused function compiler warnings/errors.
Behdad Esfahbod 7bd508a0 2018-08-12T17:19:55 [lazy] Rename free()