Commit Graph

5399 Commits

Author SHA1 Message Date
Behdad Esfahbod c31fcf4c58 [subset] Replace auto_array with prealloced_array
auto_array has constructor/destructor. Cannot be used in POD object, as the clang
bots all noticed...
2018-02-10 14:20:10 -06:00
Behdad Esfahbod 931d67900e Fix some other bots 2018-02-10 14:11:16 -06:00
Behdad Esfahbod 4011d885b7 [util] Remove use of ssize_t which was failing on MSVC 2018-02-10 14:09:06 -06:00
Behdad Esfahbod bfa871634c Minor 2018-02-10 14:06:53 -06:00
Ebrahim Byagowi 844f48ea9a
Fix symbol exporting and libstdc++ linkage of hb-subset (#769) 2018-02-10 23:13:12 +03:30
Behdad Esfahbod 91519c6a5b [aat] Add buffer messages 2018-02-10 13:35:17 -06:00
Behdad Esfahbod af274507c4 Minor 2018-02-10 13:25:49 -06:00
Behdad Esfahbod 570d523761 [subset] Merge remote-tracking branch 'googlefonts/master' 2018-02-10 13:24:22 -06:00
Behdad Esfahbod 71130a20fa Replace Supplier.advance with Supplier::operator+= 2018-02-10 13:15:57 -06:00
Behdad Esfahbod d0f3e7f597 [util] Use setlinebuf() if present
To work around mysterious bug on OS X.

Fixes https://github.com/harfbuzz/harfbuzz/issues/727
2018-02-10 12:46:11 -06:00
Ebrahim Byagowi ad575a5f47
Fix cast warnings on clang (#768) 2018-02-10 19:50:11 +03:30
Garret Rieger d18decd201 In glyf subsetting add suport for writing out a short loca table when possible. 2018-02-09 18:41:21 -08:00
Rod Sheeter 9275bd03ea First pass at building a cmap 2018-02-09 17:40:52 -08:00
Garret Rieger d2170d1478 Check for failures from add table. 2018-02-09 17:27:23 -08:00
Rod Sheeter 4816064c0e add missing return 2018-02-09 17:14:37 -08:00
Garret Rieger 0089443756 Keep a second set of glyph ids in subset plan which is sorted by glyph id and always has gid 0 2018-02-09 16:22:09 -08:00
Garret Rieger 3bc81558d8 Formatting for hb-subset-plan. 2018-02-09 16:06:33 -08:00
Behdad Esfahbod 8cef3a6199 Try fixing build with Sun Studio
Trying to fix:
https://circleci.com/gh/harfbuzz/harfbuzz/6635

Also part of:
https://github.com/harfbuzz/harfbuzz/issues/630
2018-02-09 16:04:23 -06:00
Garret Rieger 86aa4b3ba7 Return empty face on hb_subset failure instead of null. Plus some minor cleanups for _add_head_and_set_loca_version 2018-02-09 13:54:43 -08:00
Behdad Esfahbod d45f240e4e Typo 2018-02-09 15:51:45 -06:00
Behdad Esfahbod 3b7aa651b4 [docs] Improve UNSAFE_TO_BREAK docs 2018-02-09 15:43:20 -06:00
bungeman 671f0a7733 Documentation for HB_GLYPH_FLAG_UNSAFE_TO_BREAK.
HB_GLYPH_FLAG_UNSAFE_TO_BREAK means that the glyph with this flag is somehow affected by the previous logical glyph (the previous index in the buffer if ltr and the next index if the buffer is rtl). If these two glyphs are separated by a break (line or otherwise) then the underlying text should be re-shaped on both sides up to corresponding position in the text of some glyph not marked with this flag.
2018-02-09 15:39:45 -06:00
Garret Rieger 1582eabee6 Update head table with loca format selected by glyf+loca subsetting. 2018-02-09 12:52:08 -08:00
Garret Rieger 335bbaa66f Remove uneeded code in hb-subset. 2018-02-09 10:55:15 -08:00
Behdad Esfahbod 3346ba9cd5 [test/text-rendering-tests] Update from upstream 2018-02-09 11:05:17 -06:00
Rod Sheeter 1cd98d05e0 Create the groups for a cmap format12. Does not yet build the actual table. 2018-02-08 19:39:57 -08:00
Rod Sheeter 59c658c8d5 capture codepoints sorted so we can use them for cmap later. one day we will have a map 2018-02-08 19:22:47 -08:00
Rod Sheeter 8431c38cdc remove output noise 2018-02-08 19:20:58 -08:00
Rod Sheeter 5cca0c07af fix comment 2018-02-08 19:05:46 -08:00
Rod Sheeter a19138e668 comment the serialization of table 2018-02-08 19:04:06 -08:00
Garret Rieger 5a34114f96 Add an extra entry to the end of the loca table to identify the end of the last glyph's data. 2018-02-08 18:32:24 -08:00
Garret Rieger aac7d96212 Apply per table subsetting while building the new face in hb_subset. 2018-02-08 18:18:16 -08:00
Garret Rieger 3e81832432 Disable subset tests on cmake for now. 2018-02-08 18:05:48 -06:00
Garret Rieger 2f94105311 Disable subset tests on cmake for now. 2018-02-08 15:55:12 -08:00
Behdad Esfahbod e081c9e8fc Oops! 2018-02-08 17:44:24 -06:00
Behdad Esfahbod 1c49afe179 Whitespace 2018-02-08 17:38:58 -06:00
Behdad Esfahbod 9682ef135f Minor fixups 2018-02-08 17:35:57 -06:00
Garret Rieger 35eeb893ef Don't include subset headers in libharfbuzz. 2018-02-08 17:31:11 -06:00
Garret Rieger 42234424a0 Fix include gaurds and include order in hb-subset-glyf and hb-subset-plan 2018-02-08 17:31:11 -06:00
Garret Rieger 0f3c756cbf Add CMake config for building a separate harfbuzz-subset. 2018-02-08 17:31:11 -06:00
Garret Rieger d4d120ad79 Skip subset to fonttools comparison test if TTX is not present. 2018-02-08 17:31:11 -06:00
Garret Rieger 29d915284e Whitespace 2018-02-08 17:31:11 -06:00
Garret Rieger f9420d9eff In the hb-subset to fontTools comparison, use ttx to compare the fonts. This allows for some binary differences such as re-ordered tables. 2018-02-08 17:31:11 -06:00
Garret Rieger 8e9fd6f1ab Implement basic loca (long version only) subsetting. 2018-02-08 17:31:11 -06:00
Garret Rieger f9c665fed1 Update interface to hb-subset-glyf to subset glyf and loca. 2018-02-08 17:31:11 -06:00
Garret Rieger f2ceb5ee4d Comment out failing assert in test-subset-glyf for now. Should be re-enabled once hb_subset is writing out a new face. 2018-02-08 17:31:11 -06:00
Garret Rieger 89dbebd4ad Add a basic test for glyf subsetting. 2018-02-08 17:31:11 -06:00
Garret Rieger 217ed5e3c8 Cleanups in hb-subset-glyf and hb-subset-plan. 2018-02-08 17:31:11 -06:00
Rod Sheeter 13193a9b97 move to the hb_face_t dest pattern 2018-02-08 17:31:11 -06:00
Rod Sheeter 0859a00669 sketch a subset<T> and call it for cmap. Add subset to cmap, albeit not working even for the msot basic case just yet 2018-02-08 17:31:11 -06:00