Garret Rieger
0be9fea0a9
[subset] Add comment to os2UnicodeRangesSorted.
2018-02-26 16:15:09 -08:00
Garret Rieger
e20ab71d12
[subset] Fix incorrect index.
2018-02-26 16:13:10 -08:00
Garret Rieger
074b5a29a1
[subset] Add special case handling of bit 57 in os2 ulUnicodeRange.
2018-02-26 16:11:24 -08:00
Garret Rieger
f757757eda
[subset] Add cmake build def for test-unicode-ranges.
2018-02-26 16:00:33 -08:00
Garret Rieger
f82f2a3e50
[subset] Rename hb-os2-unicode-ranges.cc to test-unicode-ranges.cc.
2018-02-26 16:00:33 -08:00
Garret Rieger
4014555ca0
[subset] set ulUnicodeRange[] in os2.
2018-02-26 16:00:33 -08:00
Garret Rieger
a570142d0c
[subset] Move hb-ot-os2-unicode-ranges into a cc file with a helper methods and tests.
2018-02-26 16:00:33 -08:00
Garret Rieger
8e81799b32
[subset] Add hb-ot-os2-unicode-ranges.hh, a map of os2 unicode ranges.
2018-02-26 16:00:33 -08:00
Ebrahim Byagowi
6c844ae8e8
[dev-run] show images using iTerm2 images feature
2018-02-26 23:04:27 +03:30
Behdad Esfahbod
28c4245e9f
[aat/ankr] Define Anchor struct
2018-02-26 01:10:42 -08:00
Behdad Esfahbod
e347fb908b
Minor
2018-02-26 01:08:50 -08:00
Behdad Esfahbod
05fbd14e71
[aat/ankr] Minor
...
DEFINE_SIZE_MIN is to be used only in rare cases. For fixed-size structs
we want DEFINE_SIZE_STATIC.
2018-02-26 01:04:16 -08:00
Behdad Esfahbod
f90cd9b1f5
[aat/ankr] Hook up Lookup table
2018-02-26 01:03:23 -08:00
Behdad Esfahbod
c36598450e
[aat/ankr] Simplify
2018-02-26 00:57:07 -08:00
Behdad Esfahbod
fa3a69e233
[aat/trak] Simplify sanitize()
2018-02-26 00:32:11 -08:00
Behdad Esfahbod
f0bc6c0992
[aat/trak] Clean up
...
We always just used "unsigned int" for counter values. There's
no use for uint16_t outside of a struct.
Also, no need for explict casting where implicit does.
2018-02-26 00:18:17 -08:00
Ebrahim Byagowi
bb82f01383
[aat] trak sanitization
2018-02-26 00:15:26 -08:00
Ebrahim Byagowi
becb1d9eea
[aat] minor
...
Ops, this was done for testing
2018-02-26 11:29:48 +03:30
Behdad Esfahbod
df1c7d5b60
Minor
2018-02-25 19:06:25 -08:00
Behdad Esfahbod
6dd46fa598
[aat/trak] Minor
...
Maybe we should make DEFINE_* make structs uncopyable.
2018-02-25 18:54:52 -08:00
Ebrahim Byagowi
ae14dd0fb0
[aat] Implement ankr
2018-02-25 17:01:39 -08:00
Behdad Esfahbod
551fa2d200
[BASE] Minor
2018-02-25 16:32:17 -08:00
Behdad Esfahbod
05699fd996
Merge remote-tracking branch 'eroux/add-base'
2018-02-24 12:03:26 -08:00
Ebrahim Byagowi
cd28eb9f5d
Add -Werror=unused-function check to Travis ( #832 )
2018-02-24 14:17:54 +03:30
Ebrahim Byagowi
1ab16f4556
[aat] Implement trak logic ( #816 )
2018-02-24 12:49:42 +03:30
Behdad Esfahbod
b91e8da36e
Include hb-version.h in git ( #825 )
2018-02-24 10:21:17 +03:30
Rod Sheeter
2e3ee489f8
[subset] format tweak, doc string
2018-02-23 18:18:54 -08:00
Rod Sheeter
d78393b554
Merge branch 'master' of https://github.com/harfbuzz/harfbuzz into drophints
2018-02-23 17:53:26 -08:00
Rod Sheeter
1454d82a9d
[subset] keep glyph trim separate of more general get_offset
2018-02-23 17:49:23 -08:00
Rod Sheeter
0ac8c0c1e6
[subset] zero glyf and loca memory before writing so pads are clean. Test just the part of maxp we care about
2018-02-23 17:43:00 -08:00
Behdad Esfahbod
dc5c7927e7
[subset] Caclculate head table checksum adjustment
...
Test still fails, because we do not serialize tables in the same
order that fonttools subsetter does.
2018-02-23 16:59:53 -08:00
Garret Rieger
7e5e1feb66
Merge pull request #828 from googlefonts/mem-fixes
...
[subset] Fix several memory leaks in subsetting.
2018-02-23 17:59:08 -07:00
Behdad Esfahbod
ec2538c880
[subset] Fix checksum calc out-of-bounds access
2018-02-23 15:51:26 -08:00
Garret Rieger
99967e21c6
[subset] Fix memory leak in hb-subset-glyf.
2018-02-23 15:45:45 -08:00
Garret Rieger
e61f360dc8
[subset] Fix memory leak in hb-subset-plan.
2018-02-23 15:44:21 -08:00
Garret Rieger
66b0a39079
[subset] Fix memory leak in hb-subset.
2018-02-23 15:41:52 -08:00
Garret Rieger
0fb8a5ce19
[subset] Fix memory leak in cmap subsetting.
2018-02-23 15:37:43 -08:00
Garret Rieger
4665aaa193
[subset] Fix memory leak in hmtx subsetting.
2018-02-23 15:36:14 -08:00
Garret Rieger
5a36b55fba
[subset] Fix memory leak in subset face destroy.
2018-02-23 15:30:14 -08:00
Ben Boeckel
d38f37b2e3
autoconf: provide a harfbuzz-config for use from CMake ( #822 )
2018-02-24 01:25:53 +03:30
Behdad Esfahbod
e0939d811f
Clean up check-defs and check-symbols ( #821 )
...
Also, call c++filt on their results.
Also build and fix and check harfbuzz-gobject.def
Also changes harfbuzz-gobject to distribute generated enum sources.
2018-02-24 00:49:34 +03:30
Rod Sheeter
9bd6d25254
[subset] clone trim logic from fonttools glyf handling
2018-02-23 13:05:58 -08:00
Behdad Esfahbod
c2e4713b5b
[hdmx] Fix sanitize()
2018-02-23 10:45:03 -08:00
Behdad Esfahbod
84d4bb91ce
[hdmx] Minor
2018-02-23 10:38:35 -08:00
Behdad Esfahbod
cf7a6e520e
[hdmx] Move DeviceRecord to toplevel again
...
More readable.
2018-02-23 10:34:26 -08:00
Garret Rieger
96d7805a92
[subset] More complete sanitization implementation for hdmx.
2018-02-22 16:48:28 -08:00
Garret Rieger
c02532a3d2
[subset] Formatting and comments in hdmx.
2018-02-22 16:40:50 -08:00
Garret Rieger
6b372f439b
[subset] In hb-ot-hdmx-table, s/glyf/hdmx.
2018-02-22 15:42:39 -08:00
Garret Rieger
ec302ad5bd
[subset] Fail subset if a table fails to sanitize.
2018-02-22 15:42:39 -08:00
Garret Rieger
aa4aa2353c
[subset] Enable hdmx subsetting.
2018-02-22 15:42:39 -08:00
Garret Rieger
bd18b6adf8
[subset] Move DeviceRecord inside of hdmx.
2018-02-22 15:42:39 -08:00
Garret Rieger
6704cded65
[subset] Add hdmx subsetting implementation.
2018-02-22 15:42:39 -08:00
Garret Rieger
84b68e5886
[subset] In hdmx serialize set the correct value of sizeDeviceRecord.
2018-02-22 15:42:39 -08:00
Garret Rieger
dddf44279f
[subset] When serializing a DeviceRecord in hdmx pad to make 32 bit aligned.
2018-02-22 15:42:39 -08:00
Garret Rieger
ab7a8f3b74
[subset] Begin implementing serialize for hdmx.
2018-02-22 15:42:39 -08:00
Garret Rieger
fe42862ab3
[subset] Sketch out a basic hb-ot-hdmx.hh.
2018-02-22 15:42:39 -08:00
Ebrahim Byagowi
a6bd6bcee0
[dev-run] minor
2018-02-22 16:52:56 +03:30
Ebrahim Byagowi
fa13a04cf3
[dev-run] Add gdb/lldb shortcuts
2018-02-22 16:48:03 +03:30
Rod Sheeter
4f07437dfe
[subset] sketch out dropping in-glyf instructions. Sometimes yields differnet size glyphs than fonttools, possibly due to padding not being corrected
2018-02-21 22:23:05 -08:00
Rod Sheeter
2d0265242b
[subset] keep the result of _subset
2018-02-21 17:04:24 -08:00
Behdad Esfahbod
4fb97be78d
Add two more ragel-generated headers
...
Fixes https://github.com/harfbuzz/harfbuzz/issues/817
2018-02-21 14:38:16 -08:00
Rod Sheeter
74e0c13a4a
[subset] drop hint tables if so flagged. Still need to dump glyf instructions.
2018-02-21 11:19:18 -08:00
Rod Sheeter
0bd100e144
[subset] add --hinting flag
2018-02-21 10:34:00 -08:00
Rod Sheeter
7ecca8c0a8
[subset] keep the result of _subset
2018-02-21 09:42:46 -08:00
Behdad Esfahbod
eada749e46
Use HB_SET_VALUE_INVALID consistently
2018-02-21 00:35:47 -08:00
Garret Rieger
2cc845f311
[subset] fix calculation of range shiftz. Should be 16 * len - searchRange not 16 * (len - searchRange).
2018-02-20 18:36:11 -08:00
Garret Rieger
8e614ade5a
[subset] Reverse table order for font serialization to match what OTS expects.
2018-02-20 18:36:11 -08:00
Garret Rieger
a998eeee4a
[subset] sanity check glyph data writes during glyph subsetting to ensure they are inbounds.
2018-02-20 18:01:16 -08:00
Garret Rieger
0ab73e5942
[subset] Sanity check that loca writes are inbounds.
2018-02-20 18:01:16 -08:00
Garret Rieger
73e20ec6e9
Merge pull request #812 from googlefonts/cleanup
...
Clean up of glyf subsetting.
2018-02-20 17:34:59 -07:00
Behdad Esfahbod
6ae4013f2e
[aat] Cosmetic touch-ups to trak table
2018-02-20 15:02:25 -08:00
Behdad Esfahbod
abc82b493e
Add Ragel-generated files to git
...
I know it's bad form; I know I've said no to this multiple times...
But this is part of an experiment to see if we can make rolling HarfBuzz
into Chrome much faster. That will give us a lot more testing exposure
that currently Chrome does.
Doing this while those files are still considered ignored by our
gitignore rules; will see how that flies.
2018-02-20 14:36:14 -08:00
Garret Rieger
69e443b254
[subset] Switch to hb_blob_copy_writable_or_fail in glyf subsetting.
2018-02-20 14:29:21 -08:00
Garret Rieger
e3e0ac9823
[subset] Move glyf subsetting code into hb-ot-glyf-table.hh
2018-02-20 14:07:40 -08:00
Behdad Esfahbod
d1f16fce96
Don't use %zu
...
Some of our bots / compilers don't like it. Wasn't caught by bots because this
is only in debug code.
825ad378e0
2018-02-20 10:32:09 -08:00
Ebrahim Byagowi
c7e834a2fc
[dev-run] minor
2018-02-20 17:59:04 +03:30
Ebrahim Byagowi
975c35214f
[dev-run] Support autotools builds
2018-02-20 17:49:29 +03:30
Dominik Röttsches
25136d9b72
Use %zu format specifier for size_t to fix cross platform build
...
Fixes Chromium Android builds, compare
https://ci.chromium.org/buildbot/tryserver.chromium.android/linux_android_rel_ng/491787
2018-02-20 14:01:15 +02:00
Ebrahim Byagowi
a64eacd8a6
[aat] First dig on 'trak'
2018-02-19 13:05:03 -08:00
Behdad Esfahbod
0bff6991de
Ugh. Really fix build.
2018-02-19 11:51:25 -08:00
Behdad Esfahbod
4fcbd22b18
Fix build after previous commit
2018-02-19 11:49:25 -08:00
Behdad Esfahbod
0bbf90ded0
[subset] Don't include hb-subset.h from hb.h
2018-02-19 11:39:07 -08:00
Ebrahim Byagowi
fde04777d1
Check availability of entr instead now that this works with it
2018-02-19 20:00:07 +03:30
Behdad Esfahbod
e2d2d81984
Limit how much work sanitize() can do
...
Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=6022
2018-02-18 17:28:53 -08:00
Behdad Esfahbod
7033fe5877
[aat] Minor
2018-02-18 17:12:04 -08:00
Behdad Esfahbod
6fa690c75a
Fix debug build
...
Context needs to be called 'c'. The TRACE_* rely on that.
2018-02-18 16:27:59 -08:00
Behdad Esfahbod
05d1e77db8
[aat] Silence warning
2018-02-18 16:26:04 -08:00
Behdad Esfahbod
1c50a88623
Readjust mark attachment heuristic a bit more
...
Previously adjusted logic could fail if nothing around was ligated,
and something moved. This should take care of that.
CC https://github.com/harfbuzz/harfbuzz/issues/740
2018-02-18 15:58:09 -08:00
Ebrahim Byagowi
79756c9039
[aat] First dig on 'kerx' ( #704 )
2018-02-19 03:17:44 +03:30
Behdad Esfahbod
279c70a5b3
Merge pull request #796 from ebraminio/dev-run
...
Add a continuous builder using fswatch
2018-02-18 14:04:33 -08:00
Ebrahim Byagowi
89b82814b6
Add a continuous builder using fswatch
2018-02-18 23:56:00 +03:30
Behdad Esfahbod
97a7110215
Fix BitScanForward() usage
...
Should fix Win64 bot.
2018-02-18 10:50:24 -08:00
Behdad Esfahbod
fe8f40a418
Merge branch 'master' into bitops
2018-02-18 10:45:33 -08:00
David Corbett
21646cc4a6
Do not mark the first glyph as unsafe to break
...
Fixes #791 .
2018-02-17 13:35:34 -08:00
Behdad Esfahbod
e5ab34fd3a
Misc fixes
...
Should bring bag djgpp bot.
2018-02-16 18:29:29 -08:00
Garret Rieger
2130392dcc
[subset] Add support for updating reference gids in components to their new values.
2018-02-16 18:29:29 -08:00
Garret Rieger
49544eb860
[subset] Refactor composite glyf iteration code into an Iterator outside of the accelerator.
2018-02-16 18:29:29 -08:00
Garret Rieger
dc6d67df13
[subset] Use gids_to_retain_sorted to produce old gid -> new gid mapping since it now has the more complete set.
2018-02-16 18:29:29 -08:00
Garret Rieger
dcac9fe964
[subset] Use complex glyph closure to populate gids_to_retain_sorted.
2018-02-16 18:29:29 -08:00
Garret Rieger
58a54c9d4f
[subset] add constant to get_composite and in_table methods in hb-ot-glyf-table
2018-02-16 18:29:29 -08:00
Garret Rieger
73e1434814
[subset] Add a DFS search to produce a closure of composite glyphs.
2018-02-16 18:29:29 -08:00
Garret Rieger
d368414143
[subset] add helper methods to glyf accelerator for reading composite glyph information.
2018-02-16 18:29:29 -08:00
Behdad Esfahbod
cd11107bb4
Another bitops fallback fix
...
I'm confident that all bugs are hashed out now.
2018-02-16 18:28:58 -08:00
Behdad Esfahbod
4e517ecb6b
Another bitops fallback impl fix
2018-02-16 18:20:12 -08:00
Behdad Esfahbod
f18b9fbf65
[set] Implement iteration using bitop intrinsics
2018-02-16 18:14:41 -08:00
Behdad Esfahbod
6a91a2eb04
Fix wide bitops implemenetation
2018-02-16 17:49:41 -08:00
Behdad Esfahbod
d25c3e69e9
[set] Readjust parameters
2018-02-16 17:45:09 -08:00
Behdad Esfahbod
6d5c0bf8b1
Fix bitops fallback impl
2018-02-16 17:33:26 -08:00
Behdad Esfahbod
82eb1dac16
Flesh out other bit ops some more for 128bit as well
2018-02-16 16:52:09 -08:00
Behdad Esfahbod
864a2dddae
Clean up bit functions
...
Compile all code-paths possible, to better catch errors.
Also enable MSVC ones on mingw which seems to support them.
2018-02-16 16:09:38 -08:00
Behdad Esfahbod
978ace6fbb
Improve _hb_popcount()
...
Support 128bit type.
2018-02-16 16:08:45 -08:00
Behdad Esfahbod
7b5ce74047
Fix warnings
2018-02-16 15:38:02 -08:00
rsheeter
926db87455
Merge pull request #792 from googlefonts/master
...
Support more tables in subsetter
2018-02-16 15:27:29 -08:00
Arkady Shapkin
d37310ac5d
Remove checking macros __OPTIMIZE__ for MSVC
...
Visual C++ compiler doesn't define macros __OPTIMIZE__ when optimizations enabled
2018-02-16 12:40:11 -08:00
Rod Sheeter
be0a01a676
Merge branch 'master' of https://github.com/harfbuzz/harfbuzz
2018-02-16 06:01:41 -08:00
Ebrahim Byagowi
139c9928f6
Fix hb-private.hh compile issue
2018-02-16 13:27:26 +03:30
Arkady Shapkin
6c10328eb8
Use _BitScanForward and _BitScanReverse on MSVC
2018-02-15 14:31:25 -08:00
Rod Sheeter
7acaa3b781
[subset] apparently C99 is too much to ask in 2018
2018-02-15 14:28:29 -08:00
Rod Sheeter
b1740106a9
[subset] fix format specifier for size_t
2018-02-15 13:55:21 -08:00
Rod Sheeter
e00c37aaae
[subset] fix no matching function MIN in djgpp
2018-02-15 12:53:52 -08:00
Rod Sheeter
0758cbc4c2
[subset] correct bug introduced to get_advance
2018-02-15 11:29:01 -08:00
Rod Sheeter
3fd11f4397
[subset] remove unused decl
2018-02-15 11:15:12 -08:00
Rod Sheeter
0e088a63d1
[subset] hmtx space bracket. authors++
2018-02-14 21:11:45 -08:00
Rod Sheeter
1725c35da0
[subset] cmap space bracket
2018-02-14 19:36:33 -08:00
Rod Sheeter
e158739bfb
[subset] space bracket
2018-02-14 19:22:37 -08:00
Rod Sheeter
2d6b1e2af7
[subset] maxp copy writeable fn
2018-02-14 19:14:01 -08:00
Rod Sheeter
1efecd965f
[subset] hmtx use copy writeable fn instead of direct memory
2018-02-14 19:05:41 -08:00
Behdad Esfahbod
b1bd0b5f50
[subset] Minor
2018-02-14 18:50:19 -08:00
Behdad Esfahbod
5ae6526ef4
[subset] Merge remote-tracking branch 'googlefonts/master'
2018-02-14 18:42:32 -08:00
Garret Rieger
0775bc0f7a
[subset] Fix hhea subsetting and clean up some memory leaks.
2018-02-14 16:37:35 -08:00
Garret Rieger
b56c9384bc
[subset] Add missing face reference in hb-subset-plan plus ensure all struct members are cleaned up on destroy.
2018-02-14 16:05:39 -08:00
Garret Rieger
e330ef3711
[subset] Restore hb_face_data_destroy to be internal.
2018-02-14 15:57:18 -08:00
Garret Rieger
3ab7d2649b
[subset] Fix memory leak in hb-ot-{maxp,os2}. Plus some formatting.
2018-02-14 15:48:57 -08:00
Behdad Esfahbod
2903b2f357
Another linker tweaking
...
Trying to fix this warning:
cc1: warning: command line option ‘-fno-threadsafe-statics’ is valid for C++/ObjC++ but not for C
Let's see what the clang bots think of it.
2018-02-14 15:46:27 -08:00
Behdad Esfahbod
e1f1f96577
[set] Tune size again
...
Switch from a 128+64 hierarchy, to 32+32. New page size is 1024.
This should make set iteration faster, without affecting other op
performances much.
2018-02-14 15:44:48 -08:00
Rod Sheeter
66e282df32
[subset] remove TODO that was already done
2018-02-14 15:31:13 -08:00
Rod Sheeter
4696624ad9
[subset] maxp wrong int type, note to use copy_writable_or_fail
2018-02-14 15:30:49 -08:00
Rod Sheeter
3ed70e5e64
[subset] return bool not hb_bool_t from table::subset
2018-02-14 15:24:49 -08:00
Rod Sheeter
88d56e241b
[subset] Use a supplier instead of memcpy and fix a few unnecessary {}s for cmap
2018-02-14 15:20:43 -08:00
Rod Sheeter
42a80f00d5
[subset] add free
2018-02-14 15:04:35 -08:00
Rod Sheeter
d463e9f6b5
[subset] Give Behdad credit again
2018-02-14 15:04:15 -08:00
Rod Sheeter
fa87770372
[subset] First pass at hmtx
2018-02-14 14:53:10 -08:00
Behdad Esfahbod
ccae99fdad
Another try
2018-02-14 11:12:09 -08:00
Behdad Esfahbod
8c3612af65
Tweak Makefile some more
2018-02-14 10:57:34 -08:00
Behdad Esfahbod
d594f947b6
[subset] Allow linking to libstdc++
...
We want to use it.
2018-02-14 10:55:25 -08:00
Rod Sheeter
a0fe3011ba
copy all cmap groups at once
2018-02-14 10:52:41 -08:00
Garret Rieger
d008b62887
Merge remote-tracking branch 'upstream/master' into fixed
2018-02-14 10:38:52 -08:00
Garret Rieger
89f17e3965
[subset] capitalize dsig.
2018-02-14 10:19:50 -08:00
Garret Rieger
df6d780355
[subset] Extract maxp subsetting into hb-ot-maxp-table.
2018-02-14 10:19:50 -08:00
Garret Rieger
343dfe8965
[subset] white and add inline in hb-ot-cmap-table.
2018-02-14 10:19:50 -08:00