Behdad Esfahbod
650ac00da3
Minor refactoring
2012-04-23 13:17:09 -04:00
Behdad Esfahbod
f94b0aa646
Add "closure" operation stubs to GSUB
...
Filling in.
2012-04-23 13:04:38 -04:00
Behdad Esfahbod
71632c96da
Fallback to Latin script if the font has no other usable scripts
...
Patch and description from Jonathan Kew:
It turns out that some legacy Thai fonts provide OpenType substitution
features to implement mark positioning, but (incorrectly) put those
features/lookups under the 'latn' script tag instead of using 'thai' (or
possibly 'DFLT'). See
https://bugzilla.mozilla.org/show_bug.cgi?id=719366 for an example and
more detailed description.
Although this is really a font bug, I suggest that we could improve the
rendering of such fonts by looking for the 'latn' as a fallback if
neither the requested script nor "default" is found in
hb_ot_layout_table_choose_script. Suggested patch against harfbuzz
master is attached.
This does _not_ affect the other kind of legacy Thai font, where custom
code to support vendor-specific PUA codepoints would be needed. I'm not
keen to go down that path; IMO, such fonts should be ruthlessly stamped
out in favour of standards-based solutions. :)
JK
2012-01-22 15:31:44 -05:00
Behdad Esfahbod
7a750ac33e
Rename table files from eg maxp-private.hh to maxp-table.hh
2011-08-17 14:19:59 +02:00
Behdad Esfahbod
944b2ba1ce
[buffer] Make API take signed int length
...
Since we already switched to accepting -1 as 'zero-terminated'.
2011-08-09 00:23:58 +02:00
Behdad Esfahbod
3897335c76
[API] Sort out get_blob API
...
hb_face_get_blob() renamed to hb_face_reference_blob(), returns a
reference now.
hb_face_[sg]et_index() added.
hb_face_set_upem() added.
2011-08-08 23:37:41 +02:00
Behdad Esfahbod
c605bbbb6d
Remove C++ guards from source files
...
Where causing issues for people with MSVC.
2011-08-04 20:00:53 -04:00
Behdad Esfahbod
c47a31fb47
[OT] Save chosen script tag
2011-07-30 20:57:01 -04:00
Behdad Esfahbod
a9ad3d3460
Move more code around
...
Buffer var allocation coming into shape
2011-07-28 15:42:18 -04:00
Behdad Esfahbod
651e8dd79e
Start cleaning up buffer var allocation
...
I've messed up a lot of stuff recently, different parts of the
shaping process are stumbling on eachother's toes because
manually tracking what's in which buffer var is hard. I'm
going to add some internal API to track those such that mistakes
are discovered as soon as they are introduced.
2011-07-25 14:54:08 -04:00
Behdad Esfahbod
b9452bfc16
Fix compiler warnings with -pedantic
2011-06-14 14:47:07 -04:00
Behdad Esfahbod
46d6a21cc8
[API] Add hb_ot_layout_substitute_start/finish()
2011-05-11 22:33:13 -04:00
Behdad Esfahbod
6a4e7e1372
Add maxp table
...
Not used for anything right now. Will use to get num_glyphs in the future.
2011-05-11 10:31:33 -04:00
Behdad Esfahbod
abcfe9b59b
Remove hb_ot_layout_context_t, simplify code
2011-05-11 00:02:02 -04:00
Behdad Esfahbod
1c9f8717eb
[API] Simplify blob API, remove lock
2011-05-06 22:59:42 -04:00
Behdad Esfahbod
266b34418c
Refactor to keep hb-object-private.h and hb-open-type.h separate
...
Needed to be able to include <Windows.h> from hb-object-private.h.
2011-05-03 00:35:53 -04:00
Behdad Esfahbod
72657e4ce7
[API] Make hb_font_create() take a face and reference it
2011-05-02 20:47:23 -04:00
Behdad Esfahbod
2409d5f8d7
Update Copyright headers
2011-04-21 17:14:28 -04:00
Behdad Esfahbod
c035812feb
[API] Rename hb_face_get_table() to hb_face_reference_table()
...
That correctly reflects the reference ownership transfer happening.
2011-04-20 17:03:00 -04:00
Behdad Esfahbod
8f0d7e0c3f
Remove hb_buffer_clear_positions(), add hb_ot_layout_position_start()
2011-04-15 19:08:43 -04:00
Behdad Esfahbod
4a2d844c2f
Minor code shuffling
2010-11-03 15:28:56 -04:00
Behdad Esfahbod
c2709119c8
Move things around some more
2010-11-02 19:12:59 -04:00
Behdad Esfahbod
1e7c1fcbc3
Move code around
2010-11-02 19:12:59 -04:00
Behdad Esfahbod
bf94b3ad22
Move some more code around
2010-11-02 19:12:59 -04:00
Behdad Esfahbod
6334658fe7
Simplify mark skipping logic
2010-11-02 19:12:59 -04:00
Behdad Esfahbod
8c69e65abe
Rename lookup_flags to lookup_props since it's more than just flags
2010-11-02 19:12:59 -04:00
Behdad Esfahbod
98370e89d1
WIP removing external synthesized GDEF support and implementing it internally
2010-11-02 19:12:58 -04:00
Behdad Esfahbod
88474c6fda
Get rid of the OpenType-specific internal buffer representation
...
Add variant integers to buffer item types. More cleanup coming.
2010-11-02 19:12:58 -04:00
Behdad Esfahbod
13528d0c78
Supposedly implement vertical support in GPOS
...
Not tested at all.
2010-10-27 14:09:27 -04:00
Behdad Esfahbod
9624de5b49
Clarify cursive_chain (and change its sign)
2010-10-27 13:44:59 -04:00
Behdad Esfahbod
e204674fe3
Rename hb_ot_layout_get_lig_carets() to hb_ot_layout_get_ligature_carets()
2010-10-27 12:32:02 -04:00
Behdad Esfahbod
3357d145f8
Implement vertical support in get_lig_carets()
2010-10-27 12:30:46 -04:00
Behdad Esfahbod
dca8aff246
Add comment re DejaVu Sans Mono having 'dflt' script
2010-09-28 16:25:45 -04:00
Behdad Esfahbod
9ea7368fce
Fix hb_ot_layout leak
2010-09-22 17:38:44 -04:00
Behdad Esfahbod
ed4acbde9c
Fix NULL dereference
...
Reported by Jonathan Kew. Face table handling needs to be redone
anyway, but fix this for now.
2010-08-16 14:36:27 -04:00
Behdad Esfahbod
4e4ef24e46
Towards separating bit allocation from shaping
2010-07-23 17:22:11 -04:00
Behdad Esfahbod
acdba3f90b
Prefer C linkage
2010-07-23 15:39:27 -04:00
Behdad Esfahbod
0a4399ca22
Fix scale issues
...
hb_font_set_scale() now sets the value to be used to represent a unit
pixel. For example, if rendering a 10px font with a 26.6 representation,
you would set scale to (10 << 6). For 10px in 16.16 you would set it to
(10 << 16). This space should be the same space that the get_glyph_metrics
and get_kerning callbacks work in.
2010-05-19 15:45:06 -04:00
Behdad Esfahbod
f415755fdf
Minor
2010-05-17 15:14:14 -04:00
Behdad Esfahbod
d7cfb3b2d1
s/\<context\>/c/g
2010-05-13 14:18:49 -04:00
Behdad Esfahbod
22da7fd94d
Rename a few files to be C++ sources
...
In anticipation for buffer revamp coming.
2010-05-12 18:23:21 -04:00
Behdad Esfahbod
b5db4f1e4e
Clean up NO_INDEX
2010-05-10 22:22:22 -04:00
Behdad Esfahbod
b435ab7e29
Fix accessing tables from NULL pointer
2010-05-10 19:51:57 -04:00
Behdad Esfahbod
64d3fc8d0d
Cosmetic: Rename HB_LIKELY/HB_UNLIKELY to likely/unlikely
2010-05-03 22:51:19 -04:00
Behdad Esfahbod
33d13fdda9
Rename HB_GNUC_UNUSED -> HB_UNUSED
2010-04-29 13:56:44 -04:00
Behdad Esfahbod
990443e5f2
Remove lock_instance()
2010-04-23 17:53:32 -04:00
Behdad Esfahbod
4206e9511a
More warning fixes
2010-04-23 14:54:01 -04:00
Behdad Esfahbod
c755cb3e3a
Change header comment
2010-04-22 00:11:43 -04:00
Behdad Esfahbod
555d11273e
[GDEF] Fix bug in building synthetic GDEF
2010-01-26 12:58:59 -05:00
Behdad Esfahbod
2014b8d110
Hook OpenType shaping up
...
Default features only for now.
2009-12-20 20:58:26 +01:00