Behdad Esfahbod
0cf7d957b7
[set] Remove TODO items not worth pursuing
2017-10-15 17:01:31 -04:00
Behdad Esfahbod
10d43658e7
[set] Speed up intersects()
2017-10-15 16:56:05 -04:00
Behdad Esfahbod
56ef4e0c52
Simplify hb_prealloced_array_t initialization
2017-10-15 16:38:29 -04:00
Behdad Esfahbod
7737e87ac4
Properly detect vector_size attribute and use fallback otherwise
2017-10-15 16:21:03 -04:00
Behdad Esfahbod
f8a0ec50e2
[set] Add fallback implementation of int-vector type
2017-10-15 16:10:35 -04:00
Behdad Esfahbod
deed4a48d1
Faster hb_set_t
...
Fixes https://github.com/behdad/harfbuzz/pull/23
2017-10-15 16:45:33 -03:00
Behdad Esfahbod
1d3971200b
Deprecate hb_set_invert()
2017-10-15 16:28:34 -03:00
Behdad Esfahbod
5e74044b6b
Add bfind() to prealloaced_array_t
2017-10-15 16:28:34 -03:00
Behdad Esfahbod
db5f7ef189
Inline another bsearch()
2017-10-15 16:28:34 -03:00
Behdad Esfahbod
6fb4ac73f9
Add popcount for 64bit ints
2017-10-15 16:00:09 +02:00
Behdad Esfahbod
473b17af4d
Remove unused hb_cache_t
2017-10-15 14:11:09 +02:00
Behdad Esfahbod
a433e60a43
Remove unused hb_frozen_set_t
2017-10-15 14:09:46 +02:00
Behdad Esfahbod
826a1daf2f
Move set-digests into their own header file
2017-10-15 14:09:05 +02:00
Behdad Esfahbod
3c13e153fe
Try fixing AppVeyor bots
2017-10-15 14:02:58 +02:00
Behdad Esfahbod
7e3015a315
Fix warnings
2017-10-15 12:13:19 +02:00
Behdad Esfahbod
dbdbfe3d7b
Use nullptr instead of NULL
2017-10-15 12:11:08 +02:00
Behdad Esfahbod
fbb937b680
Don't use NULL in public headers
2017-10-15 12:04:16 +02:00
Behdad Esfahbod
c3448e8d21
Use static_assert instead of custom ASSERT_STATIC
2017-10-15 12:02:00 +02:00
Behdad Esfahbod
76dcbf8b23
Add polyfill for static_assert and nullptr
...
Also fix hb_assert_constant_t.
2017-10-15 11:24:35 +02:00
Behdad Esfahbod
81e2b9b8a9
Never skip over CGJ
...
We might want to tweak this some more. For now, never skipping over
it is better behavior than always skipping.
Part of https://github.com/behdad/harfbuzz/issues/554
2017-10-15 10:49:06 +02:00
Behdad Esfahbod
74f1b88e37
[ucdn] Fix compiler warnings
2017-10-13 11:01:55 +02:00
Behdad Esfahbod
c2cf68dbdf
[coretext] Fix build
2017-10-13 10:30:19 +02:00
Behdad Esfahbod
95883fc5d4
[coretext] Pass correct font size to CoreText
...
CoreText "point"s are not typographic points, but CSS pixels. Ie.
they are 96 per inch, not 72 per inch.
2017-10-13 10:22:20 +02:00
Behdad Esfahbod
4f9a83ec21
Merge remote-tracking branch 'origin/master'
2017-10-12 14:08:58 +02:00
Behdad Esfahbod
fa48ccbe12
[indic] Special-case Kannada Ra,H,ZWJ sequence
...
Fixes https://github.com/behdad/harfbuzz/issues/435
2017-10-12 14:07:37 +02:00
n8willis
40b05d7b77
Replacing 'cluster' with 'syllable' when comments describe certain Indic shaping behavior ( #563 )
...
* Clarified wording of syllable/cluster behavior in Uniscribe in final_reordering; changed one other probable typo.
* Additional syllable/cluster swap in comments for final reordering and for initial-reordering matra decomposition.
2017-10-12 13:48:48 +02:00
Behdad Esfahbod
8923033eb2
[coretext] Use fabs() to silence compiler warning
2017-10-12 12:02:04 +02:00
Dominik Röttsches
dd4b321b4a
[coretext] Activate tracking for system fonts
...
Another attempt at fully fixing
https://github.com/behdad/harfbuzz/issues/360
2017-10-12 11:54:17 +02:00
Behdad Esfahbod
6a2cbc6ef5
[coretext] Use fabsf() instead of abs()
...
Fixes bots.
Link libharfbuzz.so with -lm. Surprising that we survived without
it so far!
2017-10-12 10:46:09 +02:00
Behdad Esfahbod
4e4781319b
[ft] Add hb_ft_font_changed()
...
When the font size or variations settings on underlying FT_Face change,
one can call hb_ft_font_changed() and continue using hb_font created using
hb_ft_font_create().
Fixes https://github.com/behdad/harfbuzz/issues/559
New API:
hb_ft_font_changed()
2017-10-12 10:33:16 +02:00
Behdad Esfahbod
94b3cafc3a
Add hb_face_get_table_tags()
...
New API:
hb_face_get_table_tags()
Fixes https://github.com/behdad/harfbuzz/issues/560
2017-10-11 17:22:44 +02:00
Behdad Esfahbod
e1b6d92302
Remove cast of functions to (hb_destroy_func_t)
...
Fixes https://github.com/behdad/harfbuzz/issues/474
2017-10-11 15:51:31 +02:00
Behdad Esfahbod
717fcb51dd
[coretext] Minor
2017-10-11 15:38:21 +02:00
Behdad Esfahbod
374bb48d90
Change ptem API to make 0 mean unset
2017-10-11 15:37:50 +02:00
Behdad Esfahbod
06c14225b2
[coretext] Minor
2017-10-11 15:29:53 +02:00
Behdad Esfahbod
a4b46212c5
[coretext] Adjust font size check for 0
2017-10-11 15:29:22 +02:00
Behdad Esfahbod
269cf1ca82
Correctly initialize ptem
2017-10-11 15:24:22 +02:00
Behdad Esfahbod
84686bf4c7
[coretext-aat] Also pass through CoreText if font has kerx table
...
SFNSText has kerx table which apparently is applied.
2017-10-11 15:02:48 +02:00
Behdad Esfahbod
296d0134c9
[coretext] Change default point size to 12
2017-10-11 14:09:30 +02:00
Dominik Röttsches
a5ebe1d4ae
[coretext] Recreate CTFont if pt size changed
...
Attempt at fixing #360
2017-10-11 13:33:05 +02:00
Dominik Röttsches
db7a73ce07
[coretext] Fix build
2017-10-11 13:24:48 +02:00
Behdad Esfahbod
f334130756
[coretext] Another try
2017-10-11 13:17:46 +02:00
Behdad Esfahbod
a8e466c3c1
[coretext] Move CT_Font to font data
...
Towards implementing optical sizing. Untested; won't compile.
https://github.com/behdad/harfbuzz/issues/360
2017-10-11 13:05:59 +02:00
Behdad Esfahbod
f9b4c6570a
[coretext] Move font size to a macro
2017-10-11 12:51:25 +02:00
Behdad Esfahbod
8d450dd188
Infrastructure for creating CTFont with correct font size
...
https://github.com/behdad/harfbuzz/issues/360
2017-10-11 12:43:46 +02:00
Behdad Esfahbod
16d02a58cf
[coretext] Change default font size from 36 to 18
2017-10-11 12:28:06 +02:00
Behdad Esfahbod
c0c2dbc871
Remove dirty tracking
...
Turns out I don't need this to resolve CoreText optical sizing
issue after all.
https://github.com/behdad/harfbuzz/issues/360
2017-10-11 12:23:35 +02:00
Behdad Esfahbod
b57f18da70
Add hb_font_[sg]et_ptem() to set/get point size on font
...
New API:
hb_font_set_ptem()
hb_font_get_ptem()
Needed for hb-coretext optical sizing:
https://github.com/behdad/harfbuzz/issues/360
2017-10-11 11:47:47 +02:00
Behdad Esfahbod
3f9370d9e5
Fix TODO item
2017-10-11 11:34:53 +02:00
Behdad Esfahbod
5f50f8837f
[arabic] Fix cluster merging
2017-10-07 13:17:33 +02:00
Behdad Esfahbod
c2545b9215
Add check for HB_EXTERNs
...
https://github.com/behdad/harfbuzz/pull/555
2017-10-07 12:57:30 +02:00
fanc999
48a9406839
Fix build of HarfBuzz tools and HarfBuzz-GObject on Visual Studio ( #555 )
...
* hb-buffer.h: Mark hb_buffer_diff() for export
This will fix the tools builds on Visual Studio, as the symbol is used
by the tools.
* build: Adapt NMake Makefiles for GLib 2.53.4 or later
glib-mkenums was ported from a PERL script to a Python script, so we
need to update how we generate the enum sources for HarfBuzz-GObject in
the NMake builds. Let this be known in the build documentation for MSVC
builds.
One of the problems with the underlying cmd.exe that the NMake Makefiles
run on is that shebang lines are not recognized, so we need to to test
run the script with Python and see whether it succeeded by outputing a
source file that is larger than 0 in file size (since running the PERL
version of the script will clearly fail and cause an empty file to be
created).
If it succeeds, we then run a small Python utility script that makes the
necessary string replacements, and we are done. If that fails, then we
run the glib-mkenums script with PERL, and do the replacements with the
PERL one-liners as we did before.
We need to make replace.py use latin-1 encoding when using Python 3.x to
cope with the copyright sign that is in the generated enum sources.
2017-10-07 12:57:14 +02:00
Behdad Esfahbod
c9e2cf6f55
[ot] Remove 'mal' and 'gle' lang tags
...
Fixes https://github.com/behdad/harfbuzz/issues/477
2017-10-04 16:59:22 +02:00
Behdad Esfahbod
621c49cb86
Improve performance of ligature component matching
...
This O(N^2) was introduced in 8b2c94c43f
.
Make it O(N).
2017-10-04 15:06:48 +02:00
Behdad Esfahbod
ab8d70ec70
[arabic] Implement Unicode Arabic Mark Ordering Algorithm UTR#53
...
Fixes https://github.com/behdad/harfbuzz/issues/509
2017-10-04 14:47:10 +02:00
Behdad Esfahbod
b6fe0ab636
Add info_cc() convenience macro
2017-10-04 13:37:08 +02:00
Behdad Esfahbod
7f9e7f8689
Adjust normalizer for out-of-order marks
...
We are going to implement Unicode Arabic Mark Ordering Algorithm:
http://www.unicode.org/reports/tr53/tr53-1.pdf
which will reorder marks out of their sorted ccc order. Adjust
normalizer to stop combining as soon as dangerous ordering is
detected.
2017-10-04 13:20:33 +02:00
Behdad Esfahbod
a252ad61f0
Minor
2017-10-04 13:07:08 +02:00
Behdad Esfahbod
4c05a405ac
Revert "Treat HAMZA ABOVE similar to SHADD for sorting purposes"
...
This reverts commit 5a33057576
.
Proper fix coming soon.
2017-10-04 13:06:51 +02:00
Behdad Esfahbod
d695cacbf4
Shorthand format controls should not be ignored
...
Fixes https://github.com/behdad/harfbuzz/issues/503
2017-10-04 11:33:47 +02:00
Behdad Esfahbod
50e95229d7
Add Chinantec language tags
...
Fixes https://github.com/behdad/harfbuzz/issues/516
2017-10-04 11:28:04 +02:00
Behdad Esfahbod
9786fcd8fd
Fix GPOS v_origin ordering
...
This should affect mark attachment in vertical text. I have no font to test,
but this sounds the right order.
Noticed while debugging https://github.com/behdad/harfbuzz/issues/532
2017-10-03 17:22:43 +02:00
Behdad Esfahbod
63db692fa9
[indic] Fix shaping of U+0AFB GUJARATI SIGN SHADDA
...
Fixes https://github.com/behdad/harfbuzz/issues/552
2017-10-03 16:00:18 +02:00
Behdad Esfahbod
f559c63307
[indic] Implement Consonent_With_Stacker
...
Fixes https://github.com/behdad/harfbuzz/issues/528
2017-10-03 15:20:07 +02:00
Behdad Esfahbod
e07669fc43
[use] Implement Consonant_With_Stacker
...
Related to https://github.com/behdad/harfbuzz/issues/528
2017-10-03 14:57:14 +02:00
Behdad Esfahbod
5d98de1f38
Tweak mark-base attachment
...
Apparently a base glyph can also become an attached component of a
ligature if the ligature-forming lookup used IgnoreBase. This was
being confused with a non-first component of a MultipleSubst and
hence not matched for mark-attachment. Tweak test to fix.
Fixes https://github.com/behdad/harfbuzz/issues/543
2017-10-03 13:49:40 +02:00
Behdad Esfahbod
c44657a05d
Tweak input matching some more
...
Followup to 8b2c94c43f
Allow matching sequences of marks attached to different ligatures,
as supposedly the base of the subsequent marks were already jumped
over.
2017-10-03 13:14:17 +02:00
Behdad Esfahbod
8b2c94c43f
Tweak ligature component matching for ligature formation
...
If two marks want to ligate and they belong to different components of the
same ligature glyph, and said ligature glyph is to be ignored according to
mark-filtering rules, then allow.
Example Burmese senquence:
U+1004,U+103A,U+1039,U+101B,U+103D,U+102D
Test font provided by Norbert Lindenberg.
Fixes https://github.com/behdad/harfbuzz/issues/545
2017-10-02 20:03:35 +02:00
Behdad Esfahbod
71c0a1429d
[indic] Fix shaping of U+0A51
...
Mark it as matra below to allow the sequence U+0A15, U+0A51, U+0A47.
Oh well...
Fixes https://github.com/behdad/harfbuzz/issues/524
2017-10-02 18:57:03 +02:00
Behdad Esfahbod
6eb8950e62
[ucdn] Oops!
2017-10-02 18:30:05 +02:00
Behdad Esfahbod
cbec0cd65e
Remove some really old cruft
2017-10-02 18:26:52 +02:00
Behdad Esfahbod
b3dff7720c
[ucdn] Update README
2017-10-02 18:22:51 +02:00
Behdad Esfahbod
57c55ef834
[ot] Improve shaper selection heuristic
2017-10-02 18:21:27 +02:00
Behdad Esfahbod
5680ef884c
[use] Hack to fix shaping of U+1A7F
...
Fixes https://github.com/behdad/harfbuzz/issues/525
2017-10-02 18:20:51 +02:00
Behdad Esfahbod
0faa16a253
[ucdn] Update to Unicode 10
...
Update to commit c000ebf79c095a7d58cf90090bde5715592c4834
plus this bug-fix: https://github.com/grigorig/ucdn/issues/18
2017-10-02 17:15:46 +02:00
Behdad Esfahbod
ea535a1dfa
[use] Update to Unicode 10
2017-10-02 17:02:39 +02:00
Behdad Esfahbod
29c244aff6
Minor
2017-10-02 16:36:21 +02:00
Behdad Esfahbod
1535f8c672
Add Unicode 10 scripts
2017-10-02 16:12:18 +02:00
Behdad Esfahbod
bdbe974f52
[indic] Update table to Unicode 10
2017-10-02 10:00:31 -04:00
Behdad Esfahbod
819cc36049
[indic] Move manual code out of generated table
2017-10-02 09:03:16 -04:00
Behdad Esfahbod
da4866f717
[arabic] Update table to Unicode 10 data
2017-10-02 08:57:06 -04:00
Behdad Esfahbod
1a0a356a0f
[indic] Categorize U+0980 BENGALI ANJI as placeholder
...
Fixes https://github.com/behdad/harfbuzz/issues/538
2017-10-02 08:49:23 -04:00
jfkthame
19e77e01bc
[shape-plan] Don't look for a cached plan if variation coords are specified. Fixes #549 . ( #550 )
...
This is a temporary hack just to avoid incorrect shaping results, pending proper support
for caching shape-plans with variation coordinates.
2017-10-02 08:08:49 -04:00
mhosken
66128d3cfb
Fix missing xscale in rtl graphite unpacking ( #541 )
...
* Fix missing xscale in rtl graphite unpacking
* Oops didn't need to mess with yscale
2017-09-26 14:29:45 -04:00
Behdad Esfahbod
3ca69c8c32
Use strtod_l() to correctly parse decimal numbers in French & other locales
...
Test with, eg.:
$ LC_ALL=fr_FR.utf-8 ./hb-view NotoSansArabic-VF.ttf بهداد --variations wght=1.2
2017-09-14 20:50:35 -04:00
Behdad Esfahbod
d03f11f246
Fix buffer_diff for empty buffers
...
If buffers are empty, content type should be ignored.
This fixes last of the failing tests: fuzzed.tests. Green again!
2017-09-04 20:14:13 -07:00
Behdad Esfahbod
7cc348041d
[unsafe-to-break] Fix unsafe-to-break for cluster-level=1
...
Fixes tests/shaping/tests/cluster.tests
2017-09-04 20:06:21 -07:00
Behdad Esfahbod
06cb162cd7
[indic] Treat Consonant_With_Stacker as consonant
...
Fixes https://github.com/behdad/harfbuzz/issues/528
"Kannada JIHVAMULIYA and UPADHMANIYA insert dotted circles"
2017-09-01 10:34:56 -07:00
Behdad Esfahbod
c449d2d8c9
[unsafe-to-break] Mark during fraction-slash formation
...
Fixes tests/automatic-fractions.tests
2017-08-30 17:28:22 -07:00
Behdad Esfahbod
099472e08b
hb_buffer_diff() tweak
...
I like to have a mode where CONTAINS_NOTDEF and CONTAINS_DOTTEDCIRCLE are not
returned. Abused a value of -1 for that. hb-shape now uses it. Fixes two
of the six tests failing with --verify in test/shaping/run-tests.sh.
2017-08-30 16:45:06 -07:00
Behdad Esfahbod
224d20e4e1
[docs] Minor
2017-08-23 14:49:10 -07:00
Behdad Esfahbod
b2dd0c1c32
Add hb_glyph_info_get_glyph_flags()
...
New API.
2017-08-23 13:12:54 -07:00
Behdad Esfahbod
3e8f4f1452
Rename HB_BUFFER_DIFF_FLAG_MASK_MISMATCH to HB_BUFFER_DIFF_FLAG_GLYPH_FLAGS_MISMATCH
2017-08-22 17:56:25 -07:00
Behdad Esfahbod
8820ba29df
Fix warning about "may be used uninitialized"
2017-08-15 17:12:21 -07:00
Emil A Eklund (eae)
91770e1c56
Fix signed/unsigned warning ( #522 )
...
Change hb_buffer_diff to explicitly cast result of abs to unsigned when
comparing with position_fuzz to avoid unsafe signed/unsigned comparions
warnings on windows.
2017-08-15 16:25:18 -07:00
Behdad Esfahbod
587f15ece3
Minor
2017-08-14 15:23:10 -07:00
Behdad Esfahbod
338e61ad1b
Fix typo
2017-08-14 12:36:38 -07:00
Jonathan Kew
331d66c7fe
Add function to compare two buffers
...
Based on patch from Jonathan Kew.
Needs more cleaning up and documentation.
New API:
hb_buffer_diff_flags_t
hb_buffer_diff()
2017-08-14 11:44:12 -07:00
Behdad Esfahbod
219af509ef
[graphite2] Fix warning
2017-08-13 15:10:26 -07:00
Behdad Esfahbod
239119a631
[unsafe-to-break] Mark all positions as unsafe in alternative shapers
2017-08-13 15:08:34 -07:00