Behdad Esfahbod
238b943e85
[coretext] Fix leak!
9 years ago
Behdad Esfahbod
e561122856
[coretext] Move code around
9 years ago
Behdad Esfahbod
04c6443153
[coretext] Ignore PPEM in font size selection
9 years ago
Behdad Esfahbod
62c2711121
[coretext] Limit grapheme-cluster forming to cluster-level=0
9 years ago
Behdad Esfahbod
061105ec44
[coretext] Fix shaping with varying font size
...
Fixes https://github.com/libass/libass/issues/212
9 years ago
Behdad Esfahbod
a39ff95fce
[coretext] Speed up CoreText font fallback
...
Fixes https://code.google.com/p/chromium/issues/detail?id=547912
9 years ago
Nico Weber
a7f0e25daf
Remove unused HB_SHAPER_DATA_ENSURE_DECLARE lines.
...
The coretext_aat shaper delegates to the regular coretext_..._ensure() functions, so coretext_aat_..._ensure() functions defined by these macros are unused. The compiler warns about them, which in turn can confuse people to think that the coretext_aat_..._ensure() functions weren't called by accident.
9 years ago
Nico Weber
8b1224f0ee
Remove unused `retry:` label.
...
Fixes a -Wunused-label warning when building harfbuzz with clang -Wall.
9 years ago
Behdad Esfahbod
b8811429b6
Fix Since tags
...
Fixes https://github.com/behdad/harfbuzz/issues/103
9 years ago
Behdad Esfahbod
ed6962c795
[coretext] Use i32 instead of u32 as well
...
Shouldn't cause *any* functional changes, but is more correct.
9 years ago
Behdad Esfahbod
958c268fa3
[coretext] Add TODO item
9 years ago
Behdad Esfahbod
50ad7788ee
[coretext] Remove assert that kicks in on Mac OS 10.6
...
http://crbug.com/419769
9 years ago
Behdad Esfahbod
39851ce84e
[coretext] Oops; fix issue number for previous commit
10 years ago
Behdad Esfahbod
24f17afeaf
[coretext] Fix positioning with trailing whitespace
...
Fixes https://code.google.com/p/chromium/issues/detail?id=476913
10 years ago
Behdad Esfahbod
982d94eaa2
[coretext] Don't generate notdef glyph for default-ignorables
...
As discovered on Chrome Mac:
https://code.google.com/p/chromium/issues/detail?id=452326
10 years ago
Behdad Esfahbod
6917a045fd
[coretext] Unbreak glyph positioning in presence of notdef runs
...
As discovered on Chrome Mac:
https://code.google.com/p/chromium/issues/detail?id=452326
This was originally broken in:
commit 5a0eed3b50
Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Aug 11 23:47:16 2014 -0400
[coretext] Implement vertical shaping
10 years ago
Behdad Esfahbod
b0b38bb892
[coretext] Fix positioning of notdef
10 years ago
Behdad Esfahbod
70622e5089
[coretext] Fix scaling
...
Before we were not accounting for possible differences in x_scale and
y_scale, as well as the signs of those. All should be in good shape
now.
10 years ago
Behdad Esfahbod
221ba02b08
[coretext] Use vertical advance for notdef in vertical direction
10 years ago
Behdad Esfahbod
522b1cc526
[coretext] Hide feature_mappings
10 years ago
Behdad Esfahbod
20076cc41e
[coretext] Add version guards for kCTLanguageAttributeName
10 years ago
Behdad Esfahbod
1b3011c27d
[coretext] Pass buffer language to CoreText
10 years ago
Behdad Esfahbod
3eb6a4dbf2
[coretext] Minor
10 years ago
Behdad Esfahbod
08acfe0d3a
[hb-coretext] Fix cluster order of notdef runs in RTL text
10 years ago
Behdad Esfahbod
81b8d9777b
[coretext] Fix buffer resizing
...
Was very broken. Now fixed and tested.
10 years ago
Behdad Esfahbod
c3e924fb9e
[coretext] Rewind scratch-allocated arrays when not needed anymore
10 years ago
Behdad Esfahbod
fd0001d7db
[coretext] Compare CGFont and PS name, if CTFont didn't match
...
See comments.
Fixes vertical text. CoreText backend is in very good shape now!
Also see:
5a0eed3b50
25f4fb9b56
Fixes http://github.com/behdad/harfbuzz/pull/36
10 years ago
Behdad Esfahbod
5a0eed3b50
[coretext] Implement vertical shaping
...
Currently doesn't work though, we detect font fallback. Apparently
matching on ct_font is not safe for this. Looks like commit
25f4fb9b56
wasn't enough after all.
10 years ago
Behdad Esfahbod
1b55077f03
[coretext] Remove unnecessary alt_size
...
Wasn't needed after a6b8dc8742
.
10 years ago
Behdad Esfahbod
10b1104d79
[coretext] Use CFRunStatus
...
Assert that all runs had expected direction, and take hint for
non-monotone clusters.
10 years ago
Behdad Esfahbod
fd1a6aa8d0
[coretext] Minor
10 years ago
Behdad Esfahbod
130856c705
[coretext] Remove debug printf!
10 years ago
Behdad Esfahbod
4acce77db7
[coretext] Pass buffer direction to CoreText
...
Have to use a CTTypesetter for this.
10 years ago
Behdad Esfahbod
5ec45dd37c
[coretext] Minor
...
It's hard to handle all possible NULL returns from CoreText. Add one
more...
10 years ago
Behdad Esfahbod
624a299b82
[coretext] Attach marks to base clusters
...
Fixes https://githu.com/behdad/harfbuzz/issues/49
to the extent that it can be fixed.
10 years ago
Behdad Esfahbod
3c41ccb535
[coretext] Use input clusters
...
Before, this shaper was returning UTF-16 cluster indices instead of
returning whatever cluster values the user had had set up in the buffer.
Ouch!
10 years ago
Behdad Esfahbod
a6b8dc8742
[coretext] Fix buffer resize handling
...
We can't really resize buffer and continue in this shaper as we are
using the scratch buffer for string_ref and log_cluster. Restructure
shaper to retry from (almost) scratch.
10 years ago
Behdad Esfahbod
9b3c60c88b
[coretext] Always compute log_clusters
...
To be used soon.
10 years ago
Behdad Esfahbod
9ce067c775
[coretext] Simplify cluster mapping
10 years ago
Behdad Esfahbod
49f7fb6376
[coretext] Minor
10 years ago
Behdad Esfahbod
25f4fb9b56
[coretext] Fix fallback detection
...
Fixes http://github.com/behdad/harfbuzz/pull/36
10 years ago
Behdad Esfahbod
77a7a53ace
[coretext] Fix last range
...
Test with:
hb-view /Library/Fonts/Zapfino.ttf ZapfinoZapfino --features=-dlig[7:] --shaper=coretext
10 years ago
Behdad Esfahbod
92aeee3f04
Minor
10 years ago
Behdad Esfahbod
b9993d8d6d
[coretext] Fix assert on Yosemite
...
Apparently those functions documented as sometimes returning NULL
actually exercise that right in OS X 10.10 Yosemite. The scratch
was too small for that. I *think* I fixed it, but haven't tested
as I don't have Yosemite.
10 years ago
Behdad Esfahbod
087733dd66
[coretext] Use CGFont as face_data
10 years ago
Behdad Esfahbod
7627100f42
Mark unsigned integer literals with the u suffix
...
Simplifies hb_in_range() calls as the type can be inferred.
The rest is obsessiveness, I admit.
10 years ago
Behdad Esfahbod
fb8cc86ff9
Rename sort() to qsort()
...
In an effort to make the algorithm used clear.
11 years ago
Behdad Esfahbod
7526373e70
[coretext] Remove unused var
11 years ago
Behdad Esfahbod
a9e25e90a4
[coretext] Add hb_coretext_face_create()
...
Not tested.
11 years ago
Behdad Esfahbod
c79865f90f
[coretext] Add coretext_aat shaper
...
This is a higher-priority shaper than default shaper ("ot"), but
only picks up fonts that have AAT "morx"/"mort" table.
Note that for this to work the font face's get_table() implementation
should know how to return the full font blob.
Based on patch from Konstantin Ritt.
11 years ago