Garret Rieger
95eb0f3baf
[subset] Switch to a non-log using implementation of caculating searchRangeZ, entrySelectorZ, and rangeShiftZ in cmap4.
2018-05-04 11:20:03 -07:00
Garret Rieger
c817992f49
[subset] Write out a format 4, plat 0 encoding record to match fontTools.
2018-05-04 11:20:03 -07:00
Garret Rieger
9ef55a4c13
[subset] A few bug fixes for cmap format 4 subsetting.
2018-05-04 11:20:03 -07:00
Garret Rieger
81ea75f5c8
[subset] Complete implementation of cmap4 subsetting.
2018-05-04 11:20:03 -07:00
Garret Rieger
4195a52b04
[subset] WIP implementation of serialize for cmap format 4.
2018-05-04 11:20:03 -07:00
Garret Rieger
cfa592d31c
[subset] Add an implement for cmap format 4 create_sub_table_plan.
2018-05-04 11:20:03 -07:00
Garret Rieger
295d67ea7d
[subset] WIP cmap format 4 subsetting.
2018-05-04 11:20:03 -07:00
Garret Rieger
0053d13283
[subset] Refactor cmap subsetting to make it possible to add support for more sub tables.
2018-05-04 11:20:03 -07:00
Garret Rieger
03b2754812
[subset] Add const to the hb_subset_plan_t input to a couple functions in hb-subset-plan.
2018-05-04 11:18:25 -07:00
Behdad Esfahbod
5b93f69169
Rename some X-terminated members to Z-terminated
...
X-terminated means don't access this, it's not located correctly.
Z-terminated means this is a C array with no bound checking.
2018-05-02 14:59:14 -04:00
Behdad Esfahbod
f1f6bc0a6f
[set] Fix init/fini of set on the stack to call object init/fini
...
Part of https://github.com/harfbuzz/harfbuzz/issues/1017
2018-05-02 12:56:45 -04:00
Behdad Esfahbod
37b95612d4
Remove hb_auto_array_t
...
Part of https://github.com/harfbuzz/harfbuzz/issues/1017
2018-05-01 19:09:00 -04:00
Behdad Esfahbod
5c3112aec8
s/hb_prealloced_array_t/hb_vector_t/g
...
Part of https://github.com/harfbuzz/harfbuzz/issues/1017
2018-05-01 19:07:04 -04:00
Behdad Esfahbod
4a01eb1234
Add hb_auto_t
...
Part of https://github.com/harfbuzz/harfbuzz/issues/1017
2018-05-01 19:05:58 -04:00
Behdad Esfahbod
a60ba7964e
s/finish/fini
...
For consistency.
2018-05-01 19:01:25 -04:00
Behdad Esfahbod
17618ee2ec
Add hb_object_fini()
2018-05-01 18:39:25 -04:00
Behdad Esfahbod
bd5f918e2f
[set] Cache population
...
Part of https://github.com/harfbuzz/harfbuzz/issues/1017
2018-05-01 18:27:41 -04:00
Ebrahim Byagowi
a57f5a1a18
[dwrite] Minor, enable the original code assertions
2018-04-28 13:58:55 +04:30
Ebrahim Byagowi
9925030f19
Don't decompose Bengali Rra and Rha
...
Fixes #779 and follow up to b01d9b3d90
2018-04-26 13:54:09 -07:00
Ebrahim Byagowi
5ad87a93fe
Minor, improve file reading failing condition comment
...
https://bugzilla.gnome.org/show_bug.cgi?id=659212 for more context
2018-04-25 16:44:04 +04:30
Ebrahim Byagowi
2eaba80cbd
Minor, re-add unused mark to some of ragel defined state machines ( #1005 )
2018-04-24 09:04:15 +04:30
Ebrahim Byagowi
48f0204cfe
Minor, re-add unused mark for two TRACE_ macros
...
To revive Travis CI bot
2018-04-24 08:11:13 +04:30
Ebrahim Byagowi
816b8169a9
Resolve some of clang's double-promotion warnings
2018-04-23 11:38:45 -07:00
Ebrahim Byagowi
24b8b9b227
Resolve clang's used-but-marked-unused warnings
2018-04-23 11:38:45 -07:00
Ebrahim Byagowi
eaf649450a
Resolve clang's conditional-uninitialize warnings
2018-04-23 11:38:45 -07:00
Ebrahim Byagowi
8b0d642e66
Resolve some of clang's zero-as-null-pointer-constant warnings
2018-04-23 11:38:45 -07:00
Ebrahim Byagowi
8100380d9e
Minor, fix calloc call order
2018-04-22 10:58:37 +04:30
Ebrahim Byagowi
2a4cdfad20
[aat/kerx] Minor ( #1003 )
2018-04-20 21:12:58 +04:30
Ebrahim Byagowi
ce17340b23
Add hb_blob_create_from_file, a new API ( #926 )
2018-04-20 07:59:06 +02:00
Garret Rieger
4fa1c6705a
[subset] Check instruction offsets in glyph to ensure they are in bounds.
2018-04-19 17:19:38 -06:00
Garret Rieger
5e318e09ba
[subset] Fix broken cmap creation.
...
It was ignoring the restriction that gids must be consecutive to be placed into a single group.
2018-04-19 12:51:51 -06:00
Ebrahim Byagowi
a47070cd40
Minor, annotate the added tables with likely/unlikely ( #997 )
2018-04-18 12:09:37 +04:30
Ebrahim Byagowi
c55aa147c3
Do sanitization before the use on 'main' mini-program ( #994 )
2018-04-18 00:01:20 +04:30
Behdad Esfahbod
924803166e
[colr] Check layer record access
2018-04-17 15:32:02 +02:00
Garret Rieger
5dadbb0fa0
[subset] Add implementation of cmap format 12 codepoint listing. ( #988 )
2018-04-17 15:00:23 +02:00
Ebrahim Byagowi
6771e79bcc
Add pre-opentype font pages detection code ( #986 )
...
As Khaled's finding on #981 this is the way Uniscribe detects those fonts. This is its detection part.
2018-04-17 09:36:52 +04:30
Ebrahim Byagowi
277e328986
Make some of implicit header uses explicit ( #989 )
...
Splitted from #950 and #986 IIRC Chromium had a policy about this encouraging it,
not sure about automated way to detect and add them but for now lets have the needed
ones of them.
2018-04-17 09:13:35 +04:30
Ebrahim Byagowi
f5811bad04
Add round to F2DOT14 inner store setter ( #990 )
...
It uses floor implicitly without it but explicit use of round will be more correct.
2018-04-17 09:13:03 +04:30
Garret Rieger
39754fb659
[subset] Don't assume the last segment in cmap 4 can be skipped, actually check it.
2018-04-16 16:29:26 -06:00
Garret Rieger
21a181af2b
[subset] sketch out support for a call that lists all codepoints present in a font. Implement support for it in format 4 cmap sub table.
2018-04-16 16:29:26 -06:00
Ebrahim Byagowi
aef96e246c
Further improvements on dump-fon ( #985 )
2018-04-16 18:30:25 +04:30
Ebrahim Byagowi
67dfb1937b
Add dump-fon, a prototype on how to work with .fon/.fnt files ( #981 )
2018-04-16 11:55:45 +02:00
Ebrahim Byagowi
ce99dd04de
Implement to_float and set_float of F2DOT14 ( #984 )
2018-04-15 22:08:50 +04:30
Ebrahim Byagowi
435b1878e7
Rename UINT24 to HBUINT24 for consistency ( #983 )
2018-04-15 21:18:48 +04:30
Tor Andersson
8f4c12308a
Reinstate support for Visual Studio 2005
2018-04-13 23:01:54 +04:30
Ebrahim Byagowi
632713babb
Always enable atexit on Android ( #971 )
...
Obviously one can use a newer NDK for building an updated HarfBuzz
instead that now pretty old version however I am concerned if that
version checking is working with clang that is used with the newer
NDK versions.
2018-04-12 14:17:03 +04:30
Ebrahim Byagowi
f24b0b9728
Update the links and revive the dead ones
2018-04-12 13:44:32 +04:30
Ebrahim Byagowi
a02c3ee70f
Add or update tables specifications links
2018-04-12 13:44:32 +04:30
Ebrahim Byagowi
b799fc8077
minor, use LOffsetTo and LArrayOf whenever possible ( #966 )
2018-04-11 18:36:09 +04:30
Ebrahim Byagowi
cb3fa70cd4
[dwrite] Cosmetic change ( #963 )
2018-04-11 18:00:13 +04:30
Ebrahim Byagowi
09d5e54688
[graphite] Use tabs instead 8 spaces ( #965 )
2018-04-11 17:41:48 +04:30
Ebrahim Byagowi
211da5efdc
[aat] Cosmetic changes ( #964 )
2018-04-11 17:41:24 +04:30
Ebrahim Byagowi
f8bb582bcc
[ot-color] Cosmetic changes ( #962 )
2018-04-11 17:13:20 +04:30
Ebrahim Byagowi
1e1e9086c0
minor
2018-04-10 03:26:01 +04:30
Ebrahim Byagowi
a62554af89
[colr/cpal] Improvements and add a sample renderer ( #927 )
2018-04-10 00:53:50 +04:30
Ryan Schmidt
58e569e5f7
Fix build with CoreText on OS X 10.7 and earlier ( #952 )
2018-04-06 02:33:36 +04:30
Ebrahim Byagowi
d3984b45b5
[aat] Further improvements on feat ( #948 )
2018-04-01 12:16:42 +04:30
Behdad Esfahbod
93dad9ade7
[hangul] Fix comment
2018-03-31 17:06:17 +02:00
Ebrahim Byagowi
44bf432092
[aat] Implement feat table parsing ( #947 )
2018-03-31 16:51:36 +04:30
Behdad Esfahbod
08b8eb678a
Another try at fixing linker issue
...
Fixes https://github.com/harfbuzz/harfbuzz/issues/880
2018-03-31 12:16:57 +02:00
Ebrahim Byagowi
9d68f73d5c
[aat] Implement gcid table parsing ( #944 )
2018-03-30 21:57:10 +04:30
Ebrahim Byagowi
0e230a83ae
[aat] Implement bsln table parsing ( #943 )
2018-03-30 19:36:00 +04:30
Ebrahim Byagowi
70d36543aa
Make atexit callbacks threadsafe ( #930 )
2018-03-29 17:30:28 -07:00
Ebrahim Byagowi
d3a432a7b2
[graphite] Make get_table threadsafe ( #931 )
2018-03-29 17:28:47 -07:00
Ebrahim Byagowi
80395f14e8
Make gen-* scripts LC_ALL=C compatible ( #942 )
2018-03-29 22:00:41 +04:30
Ebrahim Byagowi
26e0cbd834
Actual py3 compatibility making on gen-* scripts ( #941 )
2018-03-29 21:22:47 +04:30
Ebrahim Byagowi
cab2c2c08c
Make more gen-* scripts py3 compatible ( #940 )
2018-03-29 12:48:47 +04:30
Behdad Esfahbod
5aa2c6e194
[atexit] Make hb_languate_item_t *langs freeing threadsafe
...
Part of https://github.com/harfbuzz/harfbuzz/issues/923
2018-03-28 15:33:51 -07:00
Behdad Esfahbod
8c9451107d
Fix one UBSan warning
...
Fixes https://github.com/harfbuzz/harfbuzz/issues/935
2018-03-28 14:06:58 -07:00
Behdad Esfahbod
48baf7e389
[uniscribe] Fixup for previous commit
...
Fixes https://github.com/harfbuzz/harfbuzz/issues/934
2018-03-28 13:38:51 -07:00
Behdad Esfahbod
b17e1a4088
[uniscribe] Fix assertion fail in checksum calc
...
Program: Z:\Users\ebrahim\Desktop\harfbuzz\winbuild\util\.libs\hb-shape.exe
File: ../../src/hb-open-type-private.hh, Line 769
Expression: 0 == (Length & 3)
abnormal program termination
2018-03-28 10:45:26 -07:00
Ebrahim Byagowi
a48dd6ef23
Make gen-use-table.py py3 compatible ( #932 )
2018-03-28 19:08:19 +04:30
Garret Rieger
1c3372786c
[subset] fix infinite loop bug in looping through tables for subsetting.
2018-03-27 13:47:42 -06:00
Ebrahim Byagowi
8fd55422c3
Implement an internal emojis dumper tool ( #909 )
...
Later to be expanded to a more general tool but for now it only supports CBDT, SVG and CBDT.
2018-03-27 16:57:09 +04:30
Ebrahim Byagowi
430f82817d
[ci] Fix coverage build fail ( #925 )
2018-03-27 13:59:56 +04:30
Garret Rieger
07851aae9d
[subset] Couple of fixes for fuzzer discovered issues. ( #924 )
...
* [subset] sanitize individual DeviceRecord's as part of hdmx sanitization.
* [subset] Fix out of bounds read with non-two byte align glyphs.
* [subset] Just use size_device_record >= DeviceRecord::min_size.
* [subset] Add TODO.
* [subset] Re-order checks in hdmx sanitize.
2018-03-26 19:56:56 -07:00
Behdad Esfahbod
6f46883f5b
[hdmx] Minor
2018-03-26 19:55:22 -07:00
Behdad Esfahbod
c589681926
Minor
2018-03-26 19:55:16 -07:00
Behdad Esfahbod
19ec366fb1
Fix previous commit
...
Automake has this stupid behavior where if your Makefile.am has
syntactic error, it can get to a state that make succeeds but just
ignores broken Makefile.am. Ouch.
2018-03-26 15:09:54 -07:00
Behdad Esfahbod
44b6c77c64
Try fixing linking again
...
Before 1.7.5, we were setting -fno-exceptions etc on CXXFLAGS. In 1.7.6
we set it as CPPFLAGS. Try fixing. Also, I'm fairly sure it's safe to
set these unconditionally.
Fixes https://github.com/harfbuzz/harfbuzz/issues/880 (or so I hope)
2018-03-26 14:26:45 -07:00
Behdad Esfahbod
e4d1cbfb4f
Add HB_SUBSET_BUILTIN
...
Fixes https://github.com/harfbuzz/harfbuzz/issues/865
2018-03-26 14:09:29 -07:00
Behdad Esfahbod
c14b24fcd0
Add HB_NO_ATEXIT
2018-03-26 10:44:54 -07:00
Ebrahim Byagowi
aa53cb50ba
[aat] Unprefix not essentially layout tables ( #921 )
2018-03-26 13:28:26 +04:30
Behdad Esfahbod
a289aaff47
[aat/ltag] Whitespace
2018-03-26 01:14:07 -07:00
Ebrahim Byagowi
158f2810b2
[aat/ltag] Implement the table parsing ( #911 )
2018-03-26 12:04:30 +04:30
Ebrahim Byagowi
9eee38a55c
[aat/fmtx] Implement the table parsing ( #910 )
2018-03-25 23:56:02 +04:30
Ebrahim Byagowi
fe18c471a4
[dwrite] minor
2018-03-25 18:41:26 +04:30
Behdad Esfahbod
ebccd01974
More ULL fixes
...
Fixes https://github.com/harfbuzz/harfbuzz/issues/901
2018-03-24 17:51:55 -07:00
Behdad Esfahbod
7ec3ba21f0
Define uint64_t constants with ULL suffix
...
Fixes https://github.com/harfbuzz/harfbuzz/issues/901
2018-03-24 14:12:12 -07:00
Chun-wei Fan
19256bef9d
hb-private.hh: Add fallback implementation for round()
...
For pre-C99 compilers that do not support round(), we need to have a
simplistic implementation for it, when it is not detected during build
configuration, either via CMake or autotools, by using floor() and
ceil(), which are provided in the pre-C99 compilers.
Please see discussion at commit 86a0ac2
for more details for re-adding
this patch.
2018-03-23 15:52:33 -07:00
Ebrahim Byagowi
2a23606339
Fix llvm-gcc-4.2 compile issue and add a macOS bot to test it ( #899 )
2018-03-23 18:37:01 +04:30
Ebrahim Byagowi
7919033ce8
[dwrite] Replace rest of 'malloc/free's with 'new/delete' ( #897 )
2018-03-22 16:04:38 +04:30
Garret Rieger
3f55e0e746
[subset] Check for the Null table and not nullptr to detect failure to find a table in glyf accelerator.
2018-03-20 19:47:36 -06:00
Garret Rieger
45def99eae
[subset] Fix to debug message.
2018-03-20 19:47:36 -06:00
Garret Rieger
1396614040
[subset] don't use pointers returned from push after array has resized in hb-subset-glyf.cc
2018-03-20 19:47:36 -06:00
Garret Rieger
3531efdb4c
[subset] Fixed out of bounds read when subsetting hdmx.
2018-03-20 19:47:36 -06:00
Garret Rieger
e597436b99
[subset] Disable glyf accelerator_t methods if it didn't successfully init.
2018-03-20 19:47:36 -06:00
Garret Rieger
7251181b56
[subset] Fix infinite loop in there are more then 32 tables.
2018-03-20 19:47:36 -06:00
Garret Rieger
1a94804d35
[subset] Add a fix for segfault in hmtx/vmtx subsetting code.
2018-03-20 19:47:36 -06:00
Ebrahim Byagowi
957e775663
[dwrite] Use new again and enable the build on msys2 bots ( #890 )
2018-03-19 12:19:42 +03:30