Behdad Esfahbod
a3bd8a0e18
[graphite] Rewrite properly
2011-08-24 03:25:57 +02:00
Behdad Esfahbod
5072934c35
Minor
2011-08-24 02:24:27 +02:00
Behdad Esfahbod
71388b3ee7
[uniscribe] Minor
2011-08-24 02:09:04 +02:00
Behdad Esfahbod
cd2b901027
[graphite] Minor
2011-08-24 01:48:03 +02:00
Behdad Esfahbod
834af3b48a
[graphite] Remove hb_graphite2_feature_check()
...
I don't see how this function can be useful.
2011-08-24 01:45:47 +02:00
Behdad Esfahbod
1f49cf32c9
Add graphite2 integration from Martin Hosken
...
To be modified, a lot.
2011-08-24 01:32:41 +02:00
Behdad Esfahbod
0e6d36d8a3
Minor
2011-08-24 01:31:29 +02:00
Behdad Esfahbod
efde811325
Add a constructor for hb_prealloced_array_t
...
Fixes build with MSVC.
2011-08-23 00:04:57 +02:00
Behdad Esfahbod
d75333f166
Add gobject enum support, but disabled for now
...
need to figure out the naming. The generated code doesn't have the
right name.
2011-08-19 19:59:24 +02:00
Behdad Esfahbod
7d235d272f
Flesh out tt funcs a bit
2011-08-19 19:23:28 +02:00
Behdad Esfahbod
b9415e76d7
[API] Add hb_font_set_funcs_data()
2011-08-19 19:20:30 +02:00
Behdad Esfahbod
e6c09cdf43
Remove the pre_allocate argument from hb_buffer_create()
...
For two reasons:
1. User can always call hb_buffer_pre_allocate() themselves, and
2. Now we do a pre_alloc in add_utfX anyway, so the total number of
reallocs is limited to a small number (~3) anyway. This just makes the
API cleaner.
2011-08-19 19:20:26 +02:00
Behdad Esfahbod
187bdeaa6c
Do (nothing for) hmtx sanitize
2011-08-17 19:03:06 +02:00
Behdad Esfahbod
d6016e4910
Fix name-table sanitize
2011-08-17 15:00:18 +02:00
Behdad Esfahbod
ae9877dea6
Add hhea-table support
2011-08-17 15:00:10 +02: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
0b7e4d9f20
[ft] FT_Get_Advance() for advance-width callbacks
...
Using graphite2's comparerenderer suggests that this makes hb-ft 15
times faster. No caching layer needed anymore.
2011-08-15 20:41:59 +02:00
Behdad Esfahbod
4e9ff1dd6e
Pre-allocate buffers when adding string
...
We do a conservative estimate of the number of characters, but still,
this limits the number of buffer reallocs to a small constant.
2011-08-15 16:21:22 +02:00
Behdad Esfahbod
553bc3de82
Minor
2011-08-15 16:21:06 +02:00
Behdad Esfahbod
254142bb67
[ft] FT_Select_Charmap() when we create face
2011-08-15 16:15:44 +02:00
Behdad Esfahbod
a4cbd03dd1
Apply 'locl' with 'ccmp' in Arabic shaper
...
According to Peter Constable this is indeed what Uniscribe has been
doing for years.
Mozilla Bug 667166 - wrong shape of letter when it comes at the end of
word in the arabic version of Firefox 5.0
2011-08-15 09:52:05 +02:00
Behdad Esfahbod
c214cff55c
Start adding gobject-introspection support
2011-08-14 15:17:51 +02:00
Behdad Esfahbod
9527fb200f
Fix missing return
2011-08-13 19:03:48 +02:00
Behdad Esfahbod
77a3287695
Minor
2011-08-13 17:16:45 +02:00
Behdad Esfahbod
d6660356dd
Add uniscribe font getters
2011-08-10 22:08:36 +02:00
Behdad Esfahbod
01ec13a1d9
Implement hb_ft_font_get_face
2011-08-10 22:00:35 +02:00
Behdad Esfahbod
0501573ded
Fix const correctness in the API
2011-08-10 16:25:56 +02:00
Behdad Esfahbod
511a136f0c
Move hb-view into util/
2011-08-09 15:03:00 +02:00
Behdad Esfahbod
d753ac78da
[uniscribe] Remove zerowidth glyphs from output
2011-08-09 14:03:12 +02:00
Behdad Esfahbod
ddd247b0c5
Minor
2011-08-09 11:44:42 +02:00
Behdad Esfahbod
1b8196c986
Add fallback shaper
2011-08-09 11:37:46 +02:00
Behdad Esfahbod
13a601fe99
[FT] Don't make font immutable
2011-08-09 11:36:54 +02:00
Behdad Esfahbod
38b2118724
[API] Add hb_ft_font_set_funcs(), remove hb_ft_get_font_funcs()
...
Remove hb_ft_get_font_funcs() as it cannot be used by the user anyway.
Add hb_ft_font_set_funcs(). Which will make the font internally use
FreeType. That is, no need for the font to have created using the
hb-ft API. Just create using hb_face_create()/hb_font_create() and
then call this on the font (after having set font scale). This
internally creates an FT_Face and attached to the font.
2011-08-09 11:10:32 +02:00
Behdad Esfahbod
255f176fdc
Minor
2011-08-09 08:35:07 +02:00
Behdad Esfahbod
a9057eb3f3
[uniscribe] Unbreak
2011-08-09 00:47:55 +02:00
Behdad Esfahbod
33ccc77902
[API] Make set_user_data() functions take a replace parameter
...
We need this to set data on objects safely without worrying that some
other thread unsets it by setting it at the same time.
2011-08-09 00:43:24 +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
de1e1cf9bc
[FT] Adapt to new face API
2011-08-09 00:19:38 +02:00
Behdad Esfahbod
bf3eef540f
[uniscribe] Cleanup backend
2011-08-09 00:14:22 +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
e715784be3
Rename get_table to reference_table in all API
2011-08-08 21:43:06 +02:00
Behdad Esfahbod
670c873499
Fix shaper ordering logic
2011-08-08 21:36:24 +02:00
Behdad Esfahbod
cc797e0d53
Minor
2011-08-08 03:50:38 +02:00
Behdad Esfahbod
826e22732d
[uniscribe] Fix blob lifecycles
2011-08-07 03:53:42 -04:00
Behdad Esfahbod
ff199ba356
Fix shaper_list manipulation, aaaaaaaaaaaaargh
2011-08-07 03:43:46 -04:00
Behdad Esfahbod
577326b86a
[uniscribe] Fix cluster calculation
2011-08-07 01:04:40 -04:00
Behdad Esfahbod
f6d83b2dcf
Minor
2011-08-07 00:59:58 -04:00
Behdad Esfahbod
2eb474afb4
[uniscribe] Fix shaper
...
It's kinda working finally!
2011-08-07 00:59:38 -04:00
Behdad Esfahbod
f22e661147
[glib] Protect against invalid characters
2011-08-07 00:59:12 -04:00
Behdad Esfahbod
144cd49a0e
[buffer] Accept -1 for text_length and item_length
...
A -1 text_length means: zero-terminated string.
A -1 item_length means: to the end of string.
2011-08-07 00:51:50 -04:00
Behdad Esfahbod
e9c71fab30
Fix name-table lookup
...
Oops!
2011-08-07 00:01:04 -04:00
Behdad Esfahbod
3fd2b5bece
[uniscribe] Use font size directly
2011-08-06 22:59:54 -04:00
Behdad Esfahbod
892eb2e462
[uniscribe] Make font selection work
...
Not tested yet.
2011-08-06 22:32:07 -04:00
Behdad Esfahbod
b492299eb3
Start implementing the 'name' table
2011-08-05 20:34:50 -04:00
Behdad Esfahbod
4538efacca
Skip tests by returning 77
...
automake test runner understands this.
2011-08-05 20:11:06 -04:00
Behdad Esfahbod
54eb65538d
Fix check on OS X sh
2011-08-05 20:09:25 -04:00
Behdad Esfahbod
9da554504e
Add hb_shape_list_shapers()
2011-08-05 19:59:02 -04:00
Behdad Esfahbod
d7bf473ef2
Minor
2011-08-05 19:59:02 -04:00
Behdad Esfahbod
c62a8f10f3
Free all static memory upon exit
2011-08-05 19:59:02 -04:00
Behdad Esfahbod
c4d63ef744
Fix env parsing code
...
Also changed the separator to comma instead of colon.
2011-08-05 19:59:02 -04:00
Behdad Esfahbod
3931837beb
Change hb_shape() API back to what it was, add hb_shape_full()
...
I disliked changing hb_shape() API, and disliked the fact that it was
returning a bool now. So, reverted. Added new API for the extra
functionality.
2011-08-05 19:59:02 -04:00
Behdad Esfahbod
3ca6c4ecc2
Change hb_shape() API back to what it was, add hb_shape_full()
...
I disliked changing hb_shape() API, and disliked the fact that it was
returning a bool now. So, reverted. Added new API for the extra
functionality.
2011-08-05 17:22:19 -04:00
Behdad Esfahbod
02aeca985b
[API] Changes to main shape API
...
hb_shape() now accepts a shaper_options and a shaper_list argument.
Both can be set to NULL to emulate previous API. And in most situations
they are expected to be set to NULL.
hb_shape() also returns a boolean for now. If shaper_list is NULL, the
return value can be ignored.
shaper_options is ignored for now, but otherwise it should be a
NULL-terminated list of strings.
shaper_list is a NULL-terminated list of strings. Currently recognized
strings are "ot" for native OpenType Layout implementation, "uniscribe"
for the Uniscribe backend, and "fallback" for the non-complex backend
(that will be implemented shortly). The fallback backend never fails.
The env var HB_SHAPER_LIST is also parsed and honored. It's a
colon-separated list of shaper names. The fallback shaper is invoked if
none of the env-listed shapers succeed.
New API hb_buffer_guess_properties() added.
2011-08-04 22:38:09 -04:00
Behdad Esfahbod
57692adf12
Make test.cc do something more useful
...
Hardcoded to the uniscribe backend for now. Will fix soon.
2011-08-04 20:49:16 -04: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
8336186a52
Zero map objects
2011-08-04 19:49:05 -04:00
Behdad Esfahbod
c747f509bc
More out-of-tree build fixes
2011-08-04 01:51:30 -04:00
Behdad Esfahbod
20dde61016
Minor
2011-08-04 01:07:33 -04:00
Behdad Esfahbod
44b4f50d05
Fix typo
2011-08-04 00:52:20 -04:00
Behdad Esfahbod
0fbb2dc831
Add draft experimental Uniscribe backend
...
Not complete yet, font selection doesn't work. But hey it shapes!
This is not supposed to be a production backend, more like a testing
backend.
2011-08-03 19:55:04 -04:00
Behdad Esfahbod
e62df43649
Add internal hb_buffer_t::get_scratch_buffer()
2011-08-03 17:38:54 -04:00
Behdad Esfahbod
bf8c57ba74
[API] Add hb_face_get_blob()
...
Need to think more about it.
2011-08-03 17:38:04 -04:00
Behdad Esfahbod
2118fdb9f5
Fix fallback shaping
...
Broke it a few commits ago.
2011-08-02 14:06:51 -04:00
Behdad Esfahbod
f60271c0c2
Add mingw32 support
...
With these changes, on Ubuntu I can do:
./configure --host=i586-mingw32msvc && make
2011-08-02 10:00:55 -04:00
Behdad Esfahbod
f5414cf0a2
Use missing script for calling ragel
2011-08-01 16:34:16 -04:00
Behdad Esfahbod
a91c58bf98
[Indic] Disable CJCT-disabling logic
...
Read comment.
2011-08-01 16:30:11 -04:00
Behdad Esfahbod
5e72071062
[Indic] Stop looking for base upon seeing joiners
...
Not sure where this is documented, but I remember this being the desired
behavior.
test-shape-complex failures are down from 48 to 46. Meh.
2011-07-31 17:52:44 -04:00
Behdad Esfahbod
281683995a
Cosmetic
2011-07-31 16:00:35 -04:00
Behdad Esfahbod
6b37bc8084
[Indic] Fix ZWJ/ZWNJ application
...
Not quite working just yet. False alarm re 10 failures. It was
crashing. Ouch! Back to 48 failures.
2011-07-31 15:57:00 -04:00
Behdad Esfahbod
e7be057024
[Indic] Add Final Reordering rules into comments
...
Not applied yet.
2011-07-31 15:22:46 -04:00
Behdad Esfahbod
cfd4382ec1
[Indic] Handle Reph when determining base consonant
2011-07-31 15:08:40 -04:00
Behdad Esfahbod
97158392a5
[Indic] Ra is a consonant too
2011-07-31 15:01:28 -04:00
Behdad Esfahbod
0d8f8a177c
[Indic] Fix reph inhibition logic
2011-07-31 14:57:59 -04:00
Behdad Esfahbod
9da0487cd4
[Indic] Support ZWJ/ZWNJ
...
Brings test-shape-complex failures down from 52 to 10!
I hereby declare harfbuzz-ng supporting Indic!
2011-07-31 13:46:44 -04:00
Behdad Esfahbod
9ee27a928a
[Indic] Suppress reph formation upon joiners
2011-07-31 11:10:14 -04:00
Behdad Esfahbod
8354e004e5
Un-Ra U+09F1. According to the test suite this is correct.
...
But I'm not sure... Down from 54 failures to 52.
2011-07-31 02:24:51 -04:00
Behdad Esfahbod
ba7e85c104
Cosmetic
2011-07-30 21:11:53 -04:00
Behdad Esfahbod
f5bc2725cb
[Indic] For old-style Indic tables, move Halant around
...
In old-style Indic OT standards, the post-base Halants are moved after
their base. Emulate that by moving first post-base Halant to
post-last-consonant.
Brings test-shape-complex failures down from 88 to 54. Getting there!
2011-07-30 21:08:10 -04:00
Behdad Esfahbod
c47a31fb47
[OT] Save chosen script tag
2011-07-30 20:57:01 -04:00
Behdad Esfahbod
fd06bf5611
[Indic] Handle initial Ra+Halant in scripts that support Reph
...
Brings test-shape-complex failures down from 104 to 92. Way to go!
2011-07-30 20:14:44 -04:00
Behdad Esfahbod
ee58f3bc75
Minor
2011-07-30 19:15:53 -04:00
Behdad Esfahbod
352372ae5e
[Indic] Categorize Ra in scripts that have Reph
...
Is the categorization correct? I don't know.
2011-07-30 19:04:02 -04:00
Behdad Esfahbod
45d6f29f15
[Indic] Reorder matras
...
Number of failing shape-complex tests goes from 125 down to 94.
Next: Add Ra handling and it's fair to say we kinda support Indic :).
2011-07-30 14:44:30 -04:00
Behdad Esfahbod
911bf32aca
Bug 39686 - Add '-no-undefined' to libharfbuzz LDFLAGS
2011-07-30 11:16:00 -04:00
Behdad Esfahbod
8f0b64fb69
Minor
2011-07-29 17:02:48 -04:00
Behdad Esfahbod
743807a3ce
[Indic] Apply Indic features
...
Find the base consonant and apply basic Indic features accordingly.
Nothing complete, but does something for now. Specifically:
no Ra handling right now, and no ZWJ/ZWNJ.
Number of failing shape-complex tests goes from 174 down to 125.
Next: reorder matras.
2011-07-29 16:46:09 -04:00
Behdad Esfahbod
9f9bcceca6
Register buffer vars in Indic shaper
2011-07-28 17:07:50 -04:00
Behdad Esfahbod
be09bf6b79
Oops. This should have gone into the previous commit
2011-07-28 17:03:43 -04:00
Behdad Esfahbod
b65c06025d
Formalize buffer var allocations
2011-07-28 16:49:29 -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
cc06c243d8
Streamline debugging infrastructure even more
2011-07-25 20:34:17 -04:00
Behdad Esfahbod
43ff203d8e
Use variadic macros for debugging
...
Looks *so* much nicer!
2011-07-25 17:35:24 -04:00
Behdad Esfahbod
decd4e3e16
Add sugar syntax for debug messages
...
Buffer debugging coming soon.
2011-07-25 16:47:02 -04:00
Behdad Esfahbod
3a81b1db89
Minor, fix leak from my previous refactorings
2011-07-25 16:30:32 -04:00
Behdad Esfahbod
f4a579bc42
Add internal API for buffer var allocation
2011-07-25 16:26:05 -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
c86f932015
Move code around
2011-07-25 00:44:50 -04:00
Behdad Esfahbod
18c42850c9
Shrink space used for ligature ids
...
This frees 16bits in the glyph_info struct during the ot_layout process.
We can use the freed space in the shapers now.
2011-07-25 00:43:39 -04:00
Behdad Esfahbod
d8787493c9
Minor
2011-07-25 00:36:01 -04:00
Behdad Esfahbod
c311d85208
Keep Unicode props updated as we go so we avoid a scan later
2011-07-23 23:43:54 -04:00
Behdad Esfahbod
5389ff4dbc
Implement the Unicode Canonical Composition algorithm
...
Fallback normalization is complete and working now!
2011-07-22 20:22:49 -04:00
Behdad Esfahbod
dcdc51cdc0
Handle singleton decompositions
2011-07-22 17:14:46 -04:00
Behdad Esfahbod
34c22f8168
Implement Unicode Canonical Reordering Algorithm
2011-07-22 17:04:20 -04:00
Behdad Esfahbod
4ff0d2d9df
Decomposition works now!
2011-07-22 16:15:32 -04:00
Behdad Esfahbod
468e9cb25c
Move buffer methods into the object
2011-07-22 14:49:14 -04:00
Behdad Esfahbod
45412523dc
More normalization kick
2011-07-22 11:07:05 -04:00
Behdad Esfahbod
63c0ef4a07
Fix decompose() implementations to work with non-starter non-composables
...
Add tests.
2011-07-21 20:58:42 -04:00
Behdad Esfahbod
5d90a342e3
Document normalization design
2011-07-21 15:25:01 -04:00
Behdad Esfahbod
02cdf743c2
Add prefer_decomposed() complex-shaper callback
...
This allows the Indic shaper to request decomposed characters. This will
handle split matra for free. Other shapers prefer precomposed
characters.
2011-07-21 12:23:12 -04:00
Behdad Esfahbod
d6b9c6d200
More kicking
2011-07-21 12:16:45 -04:00
Behdad Esfahbod
192445aef2
Remove intermittent_glyph()
...
Lets not worry about performance for now...
2011-07-21 12:13:04 -04:00
Behdad Esfahbod
d63adfc7d0
No need to handle variation-selectors seperately, they are GC=Mn
2011-07-21 11:48:57 -04:00
Behdad Esfahbod
aa7264123a
Only form clusters if we are reversing
...
This produces more accurate cluster mappings. Cluster mappings are
minimal now. Combining marks get their own cluster value most of
the time.
2011-07-21 11:34:59 -04:00
Behdad Esfahbod
5c6f5982d7
Towards normalization
2011-07-21 11:31:08 -04:00
Behdad Esfahbod
cf7f43ec33
Remove stale comment
2011-07-21 01:12:26 -04:00
Behdad Esfahbod
54d1a0d2b2
Form clusters before ensuring native direciton
...
This is essential as ensure_native_direction uses cluster info that
is set by form_clusters().
2011-07-21 01:11:09 -04:00
Behdad Esfahbod
9111b21ef9
Add _hb_buffer_output_glyph() and _hb_buffer_skip_glyph()
2011-07-21 00:59:15 -04:00
Behdad Esfahbod
655586fe5e
Towards normalization
2011-07-21 00:52:42 -04:00
Behdad Esfahbod
49741c8633
Include variation-selectors in cluster calculation
2011-07-21 00:35:37 -04:00
Behdad Esfahbod
dd89d958c1
Fix cluster calculation for non-LTR text
2011-07-21 00:28:57 -04:00
Behdad Esfahbod
4a68684654
When forming clusters, participate all mark types
2011-07-21 00:14:01 -04:00
Behdad Esfahbod
5157e12a55
Rename HB_UNICODE_GENERAL_CATEGORY_COMBINING_MARK to HB_UNICODE_GENERAL_CATEGORY_SPACING_MARK
...
Spacing_Mark is the current Unicode long-name for this property value.
The previous name was wrongly carried from glib.
2011-07-21 00:12:33 -04:00
Behdad Esfahbod
7b08b0a7f2
Minor
2011-07-20 23:59:07 -04:00
Behdad Esfahbod
498e1a9be6
[icu] Implement compose()/decompose()
2011-07-20 23:19:49 -04:00
Behdad Esfahbod
ffd4a436f7
Add tests for compose()/decompose()
...
Adjust glib fallback implementation.
The tests are not hooked up for ICU yet.
2011-07-20 22:31:23 -04:00
Behdad Esfahbod
fca0923b04
Minor
2011-07-20 22:16:13 -04:00
Behdad Esfahbod
26b6024962
[glib] Use g_unicode_script_to/from_iso15924() if available
2011-07-20 22:16:01 -04:00
Behdad Esfahbod
22fdc66712
[glib] Add compose() and decompose() implementations with fallback
2011-07-20 21:51:37 -04:00
Behdad Esfahbod
a54a5505a3
Minor
2011-07-20 16:42:10 -04:00
Behdad Esfahbod
22989c5ffc
Distribute hb-ot-shape-complex-indic-machine.rl
2011-07-12 11:54:58 -04:00
Behdad Esfahbod
f6fd3780e1
Let shapers decide when to apply ccmp and locl
...
Instead of always applying those two features before the complex shaper,
let the complex shaper decide whether they should be applied first.
Also add stub for Indic's final_reordering().
2011-07-08 00:22:40 -04:00
Behdad Esfahbod
c4641723fb
[API] Add compose() and decompose() unicode funcs, rename other ones
...
Add compose() and decompose() unicode funcs. These implement
pair-wise canonical composition/decomposition.
The glib/icu implementations are lacking for now. We are adding
API for this to glib, but I cannot find any useful API in ICU.
May end of implementing these in-house.
Changed all unicode_funcs callback names to remove the "_get" part.
Eg, hb_unicode_get_script_func_t is now hb_unicode_script_func_t,
and hb_unicode_get_script() is hb_unicode_script() now.
2011-07-08 00:09:31 -04:00
Behdad Esfahbod
d05dded167
More code generation through preprocessor
2011-07-07 23:43:47 -04:00
Behdad Esfahbod
891c4755ba
Humm, undo some shuffling
...
In preparation for adding more advanced unicode funcs.
2011-07-07 23:27:27 -04:00
Behdad Esfahbod
4b6317c4f4
More code shuffling
2011-07-07 23:14:42 -04:00
Behdad Esfahbod
3361c9a323
Minor
2011-07-07 22:35:17 -04:00
Behdad Esfahbod
76f76812ac
Shuffle code around, remove shape_plan from complex shapers
2011-07-07 22:25:25 -04:00
Behdad Esfahbod
e88bff9b4d
Minor, use function typedefs
2011-07-07 22:03:02 -04:00
Behdad Esfahbod
359dcaa0d3
Update copyright headers
2011-07-07 21:55:05 -04:00
Behdad Esfahbod
d8d0c480c8
Refactor some code common to GSUB and GPOS
2011-07-07 21:22:08 -04:00
Behdad Esfahbod
b70c96dbe4
Enable applying GSUB/GPOS features in multiple segments
...
Fixes https://bugzilla.mozilla.org/show_bug.cgi?id=644184
among others.
Shapers now can request segmented feature application by calling
add_gsub_pause() or add_gpos_pause(). They can also provide a
callback to be called at the pause. Currently the Arabic shaper
uses pauses to enforce certain feature application. The Indic
shaper can use the same facility to pause and do reordering in the
callback.
2011-07-07 21:12:15 -04:00
Behdad Esfahbod
f6d7a9bb4c
Shuffle code around
2011-07-07 16:20:35 -04:00
Behdad Esfahbod
2e18c6dbdf
Fix reverse_range() position loop
...
Mozilla Bug 669175 - Slow rendering of text sometimes in this case,
using direction: rtl
2011-07-06 16:05:45 -04:00
Behdad Esfahbod
fa2befa46f
Minor
2011-07-04 17:18:57 -04:00
Behdad Esfahbod
d69d5ceaa0
[Indic] Well, at least finding syllables works now :)
...
Still not much there.
2011-07-04 12:56:38 -04:00
Behdad Esfahbod
4ec30aec30
[Indic] Optimize Indic table storage
2011-06-28 14:13:38 -04:00
Behdad Esfahbod
c4a59de6d8
[Indic] Generate a single data table instead of multiple ones
2011-06-28 14:03:29 -04:00
Behdad Esfahbod
8fdba506f0
[Indic] Define indic_position_t
2011-06-24 20:45:55 -04:00
Behdad Esfahbod
65988a145b
[Indic] Add a table of consonant positions
...
Copied form HarfBuzz.old Indic data. These are below and post
consonants. This is temporary. Read the comment in the patch.
2011-06-24 19:05:52 -04:00
Behdad Esfahbod
c7fe56a1d5
[Indic] Some of the basic features are global; Mark them so
2011-06-24 19:05:34 -04:00
Behdad Esfahbod
867361c3ad
[indic] Add syllable recognition state machine
...
Using an incredible tool called Ragel.
2011-06-17 18:35:46 -04:00
Behdad Esfahbod
422e08dbb8
Better categorize Indic character classes
...
Matches OT types now.
2011-06-15 17:22:48 -04:00
Behdad Esfahbod
31f18abecb
Minor compiler warning fixes
2011-06-15 09:49:58 -04:00
Behdad Esfahbod
e3693b72f0
Change a couple strstr() to strchr()
2011-06-15 09:33:52 -04:00
Behdad Esfahbod
b9452bfc16
Fix compiler warnings with -pedantic
2011-06-14 14:47:07 -04:00
Behdad Esfahbod
970e092dc2
Remove extra semicolon
2011-06-14 14:35:44 -04:00
Behdad Esfahbod
8142680802
Cosmetic
2011-06-13 16:12:56 -04:00
Behdad Esfahbod
902ab866f2
GNOME Bug 652227 - Unconditional use of stdint.h
2011-06-10 23:08:54 -04:00
Behdad Esfahbod
20503ccd57
More Indic data shuffling
2011-06-07 17:02:48 -04:00
Behdad Esfahbod
63b177e45c
Minor
2011-06-07 15:51:40 -04:00
Behdad Esfahbod
b9ddbd5593
[Indic] Start an Indic shaper
...
Nothing functional in there yet.
So far, we're parsing IndicSyllabicCategory.txt and IndicMatraCategory.txt
fils from Unicode Character Database and store them in an array to be used
by the shaper. Also hooked up the shaper, but it does not do anything
right now.
2011-06-02 17:43:12 -04:00
Behdad Esfahbod
697a65c5f5
Minor
2011-06-01 23:15:48 -04:00
Behdad Esfahbod
9de1481f2b
Update to ArabicShaping-6.1.0d2.txt
2011-06-01 20:45:14 -04:00
Behdad Esfahbod
9d49433efb
Minor rename
2011-06-01 18:10:10 -04:00
Behdad Esfahbod
89a2bc9ba6
[Vertical] Apply vertical features
...
We apply all of vert, vrt2, vkrn, valt, and vpal.
2011-05-31 15:18:13 -04:00
Behdad Esfahbod
0c6a9767c8
[hb-view] Add --face-index to choose a face in a TrueType Collection
2011-05-31 12:59:17 -04:00
Behdad Esfahbod
4f28fbdd80
Fix TTC header handling
...
Also change the Version type to avoid similar bugs in the future.
Reported by Grigori Goronzy.
2011-05-31 12:33:11 -04:00
Behdad Esfahbod
21deab2bdc
Fixed inifinite loop introduced in 7403e055cd
...
k is the index, not j.
Reported by Tom Hacohen.
2011-05-30 11:08:40 -04:00
Behdad Esfahbod
51881a61ca
Shrink code size
2011-05-27 18:15:56 -04:00
Behdad Esfahbod
90645fb24b
[OT] Separate map_builder from the actual map
...
Respectively, separate planner from the actual plan.
2011-05-27 18:13:31 -04:00
Behdad Esfahbod
5560a19e2b
Minor
2011-05-27 17:49:16 -04:00
Behdad Esfahbod
5bc18195d5
Add check-includes.sh
2011-05-27 15:58:54 -04:00
Behdad Esfahbod
376dafa6ed
Hide internal symbols
2011-05-27 03:40:04 -04:00
Behdad Esfahbod
329c15714b
Add libtool versioning
...
The versioning is automatic. For now, soname-major is 0. With
the 1.0.0 release it will jump to 1 and stay there forever.
2011-05-25 16:07:07 -04:00
Behdad Esfahbod
2d8ebcb9d0
[API] One last font-funcs API change
...
Now that vertical text works correctly, I'm doing a last round
modification of the font-funcs API to simplify. Expect no more
changes around here.
2011-05-25 11:27:33 -04:00
Behdad Esfahbod
7403e055cd
[Vertical] fix vertical gpos
...
Wow, it took me a few days to find the right fix!
We now set the advance for attached marks to zero, but we
do this in the _finish() state of gpos, so it shouldn't
regress with fonts like DejaVuSansMono that explicitly
decrease the mark advance width to set it to zero.
2011-05-25 10:52:15 -04:00
Behdad Esfahbod
3b0bb855e0
[Vertical] GPOS x/y advance adjustments only apply in hori/vert respectively
2011-05-20 15:59:59 -04:00
Behdad Esfahbod
cc2086d67c
[Vertical] Fix GPOS y-advance direction
2011-05-19 19:19:50 -04:00
Behdad Esfahbod
67d51ff961
[Vertical] Do fallback origin calculation
2011-05-19 19:08:57 -04:00
Behdad Esfahbod
60fbb36096
[Vertical] GPOS is always done with horizontal origin
2011-05-19 18:46:15 -04:00
Behdad Esfahbod
8b38faeede
More vertical
...
Starting to get there, but not without yet another round of changes.
I think I know wheere to go now.
2011-05-19 13:08:00 -04:00
Behdad Esfahbod
e609aeb1e2
[hb-view] Add --annotate
...
Currently it only marks glyph origins.
2011-05-18 10:17:02 -04:00
Behdad Esfahbod
b8d76dd74e
Vertical: Adjust origin in glyph_extents() and glyph_contour_point()
...
The base for vertical is almost ready now.
2011-05-17 23:31:00 -04:00
Behdad Esfahbod
190981851f
Cosmetic
2011-05-17 23:27:22 -04:00
Behdad Esfahbod
2c3f51a11c
Minor
2011-05-17 23:23:27 -04:00
Behdad Esfahbod
7e2c85de30
[API] Vertical support, take 2
...
I like this API *much* better. Implementation still incomplete, but
horizontal works.
2011-05-17 17:55:03 -04:00
Behdad Esfahbod
744970af4d
[API] Add support for vertical text
...
Design not final yet, and in fact I'm going to change it immediately,
but this is an standalone change for itself.
2011-05-17 17:12:34 -04:00
Behdad Esfahbod
4053f3f788
Cosmetic
2011-05-16 17:03:27 -04:00
Behdad Esfahbod
56d12e0356
Remove unnecessary TODO item
2011-05-16 16:01:58 -04:00
Behdad Esfahbod
1883af3796
[hb-view] Start work on vertical support
2011-05-16 15:18:16 -04:00
Behdad Esfahbod
9aa6f96af5
[hb-view] No need to allocate an extra glyph item at the end
2011-05-16 15:08:31 -04:00
Behdad Esfahbod
1a64f6e19a
[API] Add HB_LANGUAGE_INVALID
2011-05-13 22:55:32 -04:00
Behdad Esfahbod
40b5c2e86c
[test/test-ot-tag] Test hb-ot-tag.h, fix many bugs
...
I'm in awe with how many bugs this test revealed. All fixed.
2011-05-13 22:46:36 -04:00
Behdad Esfahbod
7fc5a30cb4
[API] Add hb_face_make/is_immutable()
2011-05-12 17:48:20 -04:00
Behdad Esfahbod
20c8b908dd
Finish off previous change
2011-05-12 15:19:33 -04:00
Behdad Esfahbod
0fd8c2f1be
[API] Make get_glyph() callback return a boolean
...
We need to know whether the glyph exists, so we can fallback to
composing / decomposing. Assuming that glyph==0 means "doesn't exist"
wouldn't work for applications like Pango that want to use different
"doesn't exist" glyph codes for different characters. An explicit
return value fixes that.
2011-05-12 15:14:13 -04:00
Behdad Esfahbod
805af72405
Rename get_kernings() arguments from first/second_glyph to left/right_glyph
...
Makes it clear that kerning is in visual order.
2011-05-12 12:39:40 -04:00
Behdad Esfahbod
df077fadd7
[object] Make object inert during destruction
...
Such that user_data and other finalizers cannot resurrect object
2011-05-12 01:19:39 -04:00
Behdad Esfahbod
52df150efe
Fix font subclass chainup
...
Test passing now.
2011-05-12 00:46:57 -04:00
Behdad Esfahbod
7033518f75
[API] Pass face to get_table()
2011-05-11 23:31:15 -04:00
Behdad Esfahbod
b467827806
[API] Remove const from font user_data
2011-05-11 23:25:28 -04:00
Behdad Esfahbod
9a14688e40
[API] Rename hb_face_create_for_data() to hb_face_create()
2011-05-11 22:49:29 -04:00
Behdad Esfahbod
46d6a21cc8
[API] Add hb_ot_layout_substitute_start/finish()
2011-05-11 22:33:13 -04:00
Behdad Esfahbod
c84d15f52e
Remove unused hb_set_t
2011-05-11 22:23:15 -04:00
Behdad Esfahbod
389a7c9e67
Remove hb_static_threadsafe_set_t
2011-05-11 22:21:38 -04:00
Behdad Esfahbod
e06d4eda7b
Use constructor/destructor for hb_ot_shape_plan_t
2011-05-11 22:18:31 -04:00
Behdad Esfahbod
daa446f184
Fix compile with no mutex available
2011-05-11 21:31:25 -04:00
Behdad Esfahbod
1e56c476c1
Free static mutex'es
2011-05-11 21:28:01 -04:00
Behdad Esfahbod
831886a9b4
Streamline mutex stuff
2011-05-11 21:27:52 -04:00
Behdad Esfahbod
438c4eee35
Remove unused hb_mutex_trylock()
2011-05-11 21:14:34 -04:00
Behdad Esfahbod
80a6833b03
[API] Add hb_*_get_empty() for all objects
2011-05-11 18:21:58 -04:00
Behdad Esfahbod
d3b30be378
[API] Add HB_UNTAG()
...
Useful in C API only.
2011-05-11 18:06:12 -04:00
Behdad Esfahbod
3cc6e9dcb4
Minor
2011-05-11 18:02:48 -04:00
Behdad Esfahbod
4101ca7dbb
Plug more leaks
...
All good now.
2011-05-11 14:30:56 -04:00
Behdad Esfahbod
6a7ac79e26
Plug leaks
2011-05-11 14:19:18 -04:00
Behdad Esfahbod
7aa12ebdff
[unicode] Simplify method setting
2011-05-11 11:55:11 -04:00
Behdad Esfahbod
d5bfd02721
Minor
2011-05-11 11:48:28 -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
a513dbcf73
[API] Change signature of get_contour_point and get_kerning ffuncs
...
get_contour_point now takes glyph id before point_index.
get_kerning now takes a vector to fill-in.
2011-05-11 00:38:22 -04:00
Behdad Esfahbod
63d646fb29
[font] Do user-space conversion when chaining up to parent font
2011-05-11 00:15:37 -04:00
Behdad Esfahbod
b6f902a1a9
Minor
2011-05-11 00:04:15 -04:00
Behdad Esfahbod
abcfe9b59b
Remove hb_ot_layout_context_t, simplify code
2011-05-11 00:02:02 -04:00
Behdad Esfahbod
1ded6d8bbf
Make default font-funcs chain-up to the parent
2011-05-10 20:50:06 -04:00
Behdad Esfahbod
b9d975b931
[API] Pass down closure user_data to font funcs
2011-05-10 20:41:13 -04:00
Behdad Esfahbod
446df9cdb1
Whitespace
2011-05-10 20:14:44 -04:00
Behdad Esfahbod
686c2d165d
[API] Remove font_funcs func getter functions
2011-05-10 20:04:26 -04:00
Behdad Esfahbod
defc45be6d
[API] Add hb_font_create_sub_font() and hb_font_get_parent()
...
Not quite useful just yet.
2011-05-10 20:02:49 -04:00
Behdad Esfahbod
11bb8fe7b3
[font] Fix internal sign of x/y_scale
...
Should have been done as part of da97541988
2011-05-10 19:57:00 -04:00
Behdad Esfahbod
85e6218e33
[API] Remove broken-by-design hb_font_unset_funcs()
2011-05-10 19:40:44 -04:00
Behdad Esfahbod
74f1d896f2
Add hb_font_make/is_immutable()
2011-05-10 19:39:32 -04:00
Behdad Esfahbod
8c7a100a4d
Fix build without mutex
2011-05-10 19:21:07 -04:00
Behdad Esfahbod
19d3035c40
Remove duplicate atomic_int implementation
2011-05-10 19:18:12 -04:00
Behdad Esfahbod
45bfa99034
Fix set implementation to be truly threadsafe even with destroy() callbacks
...
The test/object test is passing again, instead of deadlocking.
2011-05-10 19:15:49 -04:00
Behdad Esfahbod
1c9f8717eb
[API] Simplify blob API, remove lock
2011-05-06 22:59:42 -04:00
Behdad Esfahbod
a0f337a1cc
Remove unused hb_blob_try_writable_inplace()
2011-05-06 19:20:52 -04:00
Behdad Esfahbod
08611d5194
Add note re deadlocks
2011-05-06 16:28:10 -04:00
Behdad Esfahbod
34fb5521a5
[API] Add hb_language_get_default()
...
It uses locale information to detect default language. It's used by
hb_shape() whenever language is not set on the buffer.
Not sure how to properly test it in the test suite. Tested by observing
that with DejaVu Sans we select the proper local glyph version for U+431
under Serbian locale. See http://www.pango.org/ScriptGallery
2011-05-06 00:05:08 -04:00
Behdad Esfahbod
c78f448558
[API] Add version macros and functions
...
Step version up to 0.5.0.
Also, fix to pass "make distcheck"
2011-05-05 21:31:04 -04:00
Behdad Esfahbod
3935af1c0d
[buffer] Remove wrong optimization
...
While the cluster fields of the glyph string are usually sorted, they
wouldn't be in special cases (for example for non-native direction).
Blindly using bsearch is plain wrong. If we want to reintroduce this
optimization we have to make sure we know the buffer clusters are
monotonic and in which direction. Not sure it's worth it though.
2011-05-05 16:09:45 -04:00
Behdad Esfahbod
46df682851
Make user_data access threadsafe
...
For now, by taking a global user_data mutex.
2011-05-05 15:33:19 -04:00
Behdad Esfahbod
218e67b9ee
Shrink code
2011-05-05 15:28:37 -04:00
Behdad Esfahbod
b8d6183ebc
Use threadsafe set implementation for hb_language lookups
...
Note that the static variable has to be a global static, as gcc
implements local statics differently and that would require linking
to libstdc++, which we don't want.
2011-05-05 15:14:04 -04:00
Behdad Esfahbod
d37486d87b
Add hb_threadsafe_set_t
2011-05-05 15:07:54 -04:00
Behdad Esfahbod
b45f32ee4e
Use hb_array_t for hb_language_t mapping
2011-05-05 15:00:43 -04:00
Behdad Esfahbod
21d2c92fdf
Move code around
2011-05-05 14:47:53 -04:00
Behdad Esfahbod
265ac614ea
Replace fixed-size lookup_maps array with hb_array_t
2011-05-05 14:38:16 -04:00
Behdad Esfahbod
6843569d2c
Replace fixed-size feature_maps array with hb_array_t
2011-05-05 14:30:51 -04:00
Behdad Esfahbod
44b0a4d2fc
Replace fixed-size feature_infos array with hb_array_t
2011-05-05 13:42:19 -04:00
Behdad Esfahbod
b214ec3ac0
Minor
2011-05-05 13:24:07 -04:00
Behdad Esfahbod
811482bd65
Replace hb_map_t with hb_set_t which is more intuitive and flexible
2011-05-05 13:21:04 -04:00
Behdad Esfahbod
478a42536f
Make array/map implementation more generic
2011-05-05 12:39:51 -04:00
Behdad Esfahbod
b81bd42951
Make hb_mutex_*() macros take a pointer
...
More intuitive.
2011-05-05 00:21:16 -04:00
Behdad Esfahbod
a4b1900913
Add hb_static_mutex_t
2011-05-05 00:17:43 -04:00
Behdad Esfahbod
56eb5ad6f9
Move code around
...
Mutex (and Windows.h by extension) are fairly isolated now.
2011-05-04 19:27:37 -04:00
Behdad Esfahbod
d292885893
[ft] Fix font->face handling
...
Don't use _cached()
2011-05-03 01:03:53 -04:00
Behdad Esfahbod
2000179487
Move Win32 thread-safety stuff to hb-object-private.h
...
The Win32 definitions for LONG, ULONG, etc conflicts with
hb-open-type.h. Avoid that by making sure hb-object-private.h
and hb-open-type.h are not included in the same compilation unit.
2011-05-03 00:49:06 -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
d4141a44b9
[blob] Implement sub_blob() in terms of create()
...
Fixes problem with uninitialized sub_blob->mutex among other things.
Reported by Bradley Grainger.
2011-05-03 00:19:18 -04:00
Behdad Esfahbod
fc52e9e44c
Implement win32 thread-safety stuff
...
Patch from Bradley Grainger.
2011-05-03 00:09:16 -04:00
Behdad Esfahbod
f55272ecde
Add hb_mutex_free() and use it
...
Based on patch by Bradley Grainger.
2011-05-02 20:57:28 -04:00
Behdad Esfahbod
8d5186484b
Cosmetic
2011-05-02 20:52:21 -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
cec6611c5c
Protect NULL in a couple places
2011-05-02 20:18:58 -04:00
Behdad Esfahbod
5a5030366e
Fix bug in array growth implementation
...
With this, test/object is now passing. Yay!
2011-05-02 19:54:29 -04:00
Behdad Esfahbod
16123e1070
Fix bug in map implementation
2011-05-02 19:54:17 -04:00
Behdad Esfahbod
1cd5969f25
[object] Fix bug in get_user_data() implementation
2011-05-02 19:53:39 -04:00
Behdad Esfahbod
4911062d5b
[API] Rename hb_blob_create_empty() to hb_blob_get_empty()
2011-05-02 19:36:39 -04:00
Behdad Esfahbod
1ab1d3e38c
[face] Return nil face if blob is inert
2011-05-02 19:35:53 -04:00
Behdad Esfahbod
e87867cb88
[buffer] Fail in _create() if we cannot pre-allocate the requested size
2011-05-02 19:35:05 -04:00
Behdad Esfahbod
c784c67a28
[unicode] Make _get_parent() return _nil object instead of NULL
2011-05-02 15:59:57 -04:00
Behdad Esfahbod
03034acb8a
[icu] Make sure we return script UNKNOWN instead of INVALID
2011-05-02 12:37:45 -04:00
Behdad Esfahbod
d02985ec5a
ISO 15924 fixes
...
Update to http://unicode.org/iso15924
Fixes some of the test failures in test-unicode with ICU. Still
one more to fix before the test passes.
2011-05-02 12:35:14 -04:00
Behdad Esfahbod
6af9cff5e1
[test/unicode] Use text fixture instead of static variables
2011-04-29 12:12:37 -04:00
Behdad Esfahbod
243673d601
[test/buffer] Add more extensive UTF-8 test data from glib
2011-04-28 19:37:51 -04:00
Behdad Esfahbod
c7ffe2ad5f
[API Remove hb_font_funcs_copy()
...
Will be adding font_funcs subclassing instead.
2011-04-28 16:03:29 -04:00
Behdad Esfahbod
30f34d08d4
[TODO] Remove finished items
2011-04-28 16:02:40 -04:00
Behdad Esfahbod
080a0eb7d8
Add _hb_unsigned_int_mul_overflows
2011-04-28 16:01:01 -04:00
Behdad Esfahbod
3264042873
[test/buffer] Test pre_allocate() and allocation_successful()
2011-04-28 14:24:16 -04:00
Behdad Esfahbod
123aa04f7b
Fix possible but improbable overflow in hb_array_t
2011-04-28 12:58:28 -04:00
Behdad Esfahbod
e0db4b868f
[buffer] More error handling
...
Should be all set now.
2011-04-28 12:56:49 -04:00
Behdad Esfahbod
5fa849b77d
[API] Add _set/get_user_data() for all objects
2011-04-27 21:46:01 -04:00
Behdad Esfahbod
852e08ec8f
Move code around
2011-04-27 21:45:51 -04:00
Behdad Esfahbod
29c67d3f70
Add initial implementation of user_data to objects
2011-04-27 21:27:40 -04:00
Behdad Esfahbod
47e71d9661
[object] Remove unnecessary use of macros
2011-04-27 16:41:08 -04:00
Behdad Esfahbod
8be1420f8f
[blob] Use HB_FUNC instead of __FUNCTION__
2011-04-27 16:16:43 -04:00
Behdad Esfahbod
ae008b90cf
[object] Add tracing support back in
2011-04-27 16:16:39 -04:00
Behdad Esfahbod
39a840ae65
[API] Add hb_direction_from/to_string()
...
And hb-view --direction argument.
2011-04-27 14:48:19 -04:00
Behdad Esfahbod
f1425a549f
Rename hb-view.c and test.c to .cc files
2011-04-27 12:15:06 -04:00
Behdad Esfahbod
65e0063eae
Make buffer size growth start from 32 instead of 8
2011-04-27 09:38:23 -04:00
Behdad Esfahbod
d4bee9f813
[API] Add hb_unicode_funcs_get_default()
2011-04-27 09:38:19 -04:00
Behdad Esfahbod
153142dac8
Replace simple macros with inline functions for better type safety
...
Now that we use C++ for all source code, lets benefit from it!
The hb_be_int16/32_get/put/eq() macros grow code size if replaced with
inline functions, so leave them as is.
2011-04-27 02:07:46 -04:00
Behdad Esfahbod
40a9b8154f
Add TODO item
2011-04-27 01:48:56 -04:00
Behdad Esfahbod
ebdc83467c
Don't return in void function
...
Would have been nice if gcc had warned...
2011-04-27 01:41:24 -04:00
Behdad Esfahbod
ec6f9c2fd0
Further simplify object handling
2011-04-21 18:35:58 -04:00
Behdad Esfahbod
fca368c468
Add hb_object_header_t which is the common part of all objects
...
Makes way for adding arbitrary user_data support.
2011-04-21 18:24:02 -04:00
Behdad Esfahbod
a9f24c8029
Move hb_reference_count_t to hb-private.h
2011-04-21 17:18:22 -04:00
Behdad Esfahbod
2409d5f8d7
Update Copyright headers
2011-04-21 17:14:28 -04:00
Behdad Esfahbod
08da7a3841
[hb-view] Accept numbers in feature tag name
...
Reported by Adam Twardoch.
2011-04-21 16:59:10 -04:00
Behdad Esfahbod
24229eb132
Remove obsolete comment
...
Talking to Ryan Lortie, he thinks my comment doesn't make sense.
So I'm making the getter const. Note that g_atomic_int_get()
casts that away itself, so we don't need to worry about that
(which kinda makes me uncomfortable actually).
2011-04-21 16:55:17 -04:00
Behdad Esfahbod
dcb7026f33
Add ASSERT_STATIC_EXPR macro
...
Unused right now.
2011-04-21 16:34:22 -04:00
Behdad Esfahbod
3e8bdbf941
Cleanup hb_refrence_count_t
2011-04-21 16:16:21 -04:00
Behdad Esfahbod
783a7d6969
[TODO] Remove finished items
2011-04-21 16:03:59 -04:00
Behdad Esfahbod
da97541988
[API] Allow negative font x_scale/y_scale
...
I was reconsidering whether y should grow down, since all three/four
times I've used this API I was tricked and got that wrong in my use.
So I was very inclined to make y grow down instead of up. However,
considering that the font space has y up and it would be very confusing
for callbacks to work against that, I decided that what I really want
is for the user to be able to set y_scale to a negative number to imply
that user-space y grows down.
Changing x_scale/y_scale from unsigned int to int allows that, and I've
made pango to use that instead of negating glyph y_offset later. hb-ft
however still has y group up. I *guess* that's how FreeType works?
I'm not sure, FreeType docs don't make this clear...
I'm happy with the resolution :-).
2011-04-21 15:15:02 -04:00
Behdad Esfahbod
4d559cddbb
[icu] Remove big script switch(), rely on reverse-lookup
2011-04-21 14:58:23 -04:00
Behdad Esfahbod
d18431b4cd
Move hb_reference_count_t from macros to inline methods
2011-04-20 18:59:10 -04:00
Behdad Esfahbod
c57d454acc
Rename all private sources and headers to C++ files
...
So we can liberally use the simple features of C++ that parts of the
codebase is already using.
2011-04-20 18:50:27 -04:00
Behdad Esfahbod
f19f4f9b09
Rename hb-blob.c to hb-blob.cc in preparation of more changes
2011-04-20 18:25:56 -04:00
Behdad Esfahbod
9417c1c0d2
[API] Make hb_face_reference_table() return empty blob instead of NULL
...
The idea here is that:
- Like pretty much all other API in harfbuzz, user does not have to
check for NULL.
- In any caller code, the case of missing table should be handled
exactly the same way that a too-short table is handled. Turning
a non-existent talbe into a table of size 0 makes the user code
safer.
2011-04-20 17:21:23 -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
2d7b61a4b0
[TODO] Remove done items
2011-04-20 16:40:56 -04:00
Behdad Esfahbod
af02933739
[API] Remove hb_*_get_reference_count()
...
This was a bizzare piece of API that I inherited from cairo. It has
been wrong adding them to cairo in the first place. Remove them before
someone uses them!
2011-04-20 15:49:31 -04:00
Behdad Esfahbod
440a76b630
[OT] Fix script to ot-script-tag conversion
2011-04-20 14:20:00 -04:00
Behdad Esfahbod
a3036a3e97
Minor
2011-04-20 14:13:23 -04:00
Behdad Esfahbod
5668189c12
[API] font: move user_data before destroy()
...
This is the common convention for language binding tools.
2011-04-20 03:03:32 -04:00
Behdad Esfahbod
e5847f75fb
[API] blob: move user_data before destroy()
...
This is the common convention for language binding tools.
2011-04-20 02:59:28 -04:00
Behdad Esfahbod
f144a8ea84
[icu] Add two-way script conversion functions
...
Also optimizes the common-direction script lookup.
2011-04-20 02:54:42 -04:00
Behdad Esfahbod
0809aadd4b
[glib] Add two-way script conversion functions
...
Also optimizes the common-direction script lookup to be an array lookup.
2011-04-20 02:44:29 -04:00
Behdad Esfahbod
5c8c1b680c
Remove verbose comments
2011-04-20 02:29:22 -04:00
Behdad Esfahbod
fb194b8794
unicode: Cleanup implementation
2011-04-20 02:27:39 -04:00
Behdad Esfahbod
ecfb773829
Cosmetic
2011-04-20 01:34:51 -04:00
Ryan Lortie
2fd0c577e3
[API] unicode: rework virtual functions for subclassing
...
Unicode data providers can now be subclassed, including support for
chain-up. The interface should now be nicely bindable, as well.
Also fix glib unicode funcs that where broken after hb_script_t
changes. Nicely caught by the test-unicode.c added in this commit.
2011-04-20 00:19:20 -04:00
Behdad Esfahbod
f85faee9b3
[API] Rename hb_buffer_add_glyph() to hb_buffer_add()
2011-04-19 00:38:01 -04:00
Behdad Esfahbod
aab0de50e2
[API] Add hb_buffer_allocation_successful()
...
Returns the error status of the buffer.
2011-04-19 00:32:19 -04:00
Ryan Lortie
02a534b23f
[API] Rename hb_buffer_ensure() to hb_buffer_pre_allocate()
...
The new name is self-documenting.
2011-04-19 00:05:43 -04:00
Ryan Lortie
70566befc5
[API} hb_buffer_get_glyph_{infos,positions}: Add length out parameter
...
Return the length, whenever we return an array. Makes it easier on the
language bindings.
2011-04-19 00:03:44 -04:00
Behdad Esfahbod
62879eebd9
[API] Use ISO 15924 tags for hb_script_t
...
This simplifies the code, reduces static data, and makes the design
more extensible to future additions of new scripts.
2011-04-18 23:40:21 -04:00
Behdad Esfahbod
c0af193c8e
Change buffer default properties to invalid
...
This includes HB_DIRECTION_INVALID and HB_SCRIPT_INVALID.
The INVALID will cause a "guess whatever from the text" in hb_shape().
While it's not ideal, it works better than the previous defaults at
least (HB_DIRECTION_LTR and HB_SCRIPT_COMMON).
2011-04-15 19:26:24 -04:00
Behdad Esfahbod
00bec2c969
Move enum types to hb-common.h
2011-04-15 19:16:54 -04:00
Behdad Esfahbod
b54cd07b26
Mark internal buffer variables private
2011-04-15 19:12:01 -04:00
Behdad Esfahbod
0e8d35c093
Add hb_script_from_string()
2011-04-15 19:08:43 -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
2fc56edff6
[API] Remove hb_buffer_clear()
...
One should use hb_buffer_reset() really.
2011-04-15 19:08:38 -04:00
Behdad Esfahbod
5814dfa3f5
Cosmetic
2011-04-15 14:41:04 -04:00
Behdad Esfahbod
3cbdf70e0a
Make hb_language_t typesafe
2011-04-15 12:33:14 -04:00
Behdad Esfahbod
c910bec863
Add hb_buffer_reset() and hb_buffer_set_length()
2011-04-13 15:49:06 -04:00
Behdad Esfahbod
69ea23cb5d
Minor
2011-04-13 15:02:40 -04:00
Behdad Esfahbod
8e4bb3cacc
Fold hb-language.[ch] into hb-common.[ch]
2011-04-11 17:55:58 -04:00
Behdad Esfahbod
316b7a1afb
Make hb_language_from_string("") return NULL language
2011-04-11 17:49:10 -04:00
Behdad Esfahbod
99b74760a4
Rename hb_category_t to hb_unicode_general_category_t
2011-04-11 15:47:40 -04:00
Behdad Esfahbod
4188096a77
Make HB_TAG_CHAR4 private
...
It's just sugar.
2011-04-11 14:58:28 -04:00
Behdad Esfahbod
7ff7401c92
Make hb_tag_from_string(NULL) return HB_TAG_NONE
2011-04-11 13:27:30 -04:00
Behdad Esfahbod
db5227c40e
Move macros around
2011-04-11 13:16:08 -04:00
Behdad Esfahbod
07233581c9
Rename HB_TAG_STR() to HB_TAG_CHAR4()
...
The problem with HB_TAG_STR() was that it expected a string of size 4
exactly, and unlike hb_tag_from_string() it doesn't pad the tag with
space characters. So, the new name is more appropriate.
2011-04-11 13:12:37 -04:00
Behdad Esfahbod
d77b76200e
Add few more paratheses to the HB_TAG macro
...
Never hurts.
2011-04-11 12:29:52 -04:00
Behdad Esfahbod
b13640de69
A few more ASSERTs
2011-04-11 12:29:31 -04:00
Behdad Esfahbod
ae9eeaff93
Remove warning message from public header file
...
Since we now assert thos in hb-private.h, the int types cannot be wrong.
(Except for when someone else includes hb-common.h in a very broken
configuration, but that's not our problem!)
Plus, we don't use inline in the public headers, so remove that too.
2011-04-11 12:09:13 -04:00
Behdad Esfahbod
6fd5364bdc
Assert int types
2011-04-11 11:47:14 -04:00
Behdad Esfahbod
a71b9c8579
Disable 'cswh' by default except for Arabic shaper
...
That better matches OpenType spec. Note that we enable it for all
Arabic-shaper scripts. Ie. we enable it by default for Syriac too,
but the SyriacOT spec does not require it. I think this is a more
useful compromise than special-casing for Arabic script alone.
2011-04-06 14:04:56 -04:00
Behdad Esfahbod
cab6f65bba
[hb-view] setlocale (LC_ALL, "")
...
For now we don't use anything from the locale, but we should default
to using $LANG, etc, if --language is not specified. Right?
2011-04-04 15:36:51 -04:00
Behdad Esfahbod
fb9ca1bfab
[hb-view] Rewrite --features parsing, with range support
...
The --features parsing handles errors now. More importantly, it
allos limiting individual features to specific byte ranges. The
format is Python-esque. Here is how it all works:
Syntax: Value: Start: End:
Setting value:
"kern" 1 0 ∞ # Turn feature on
"+kern" 1 0 ∞ # Turn feature off
"-kern" 0 0 ∞ # Turn feature off
"kern=0" 0 0 ∞ # Turn feature off
"kern=1" 1 0 ∞ # Turn feature on
"kern=2" 2 0 ∞ # Choose 2nd alternate
Setting index:
"kern[]" 1 0 ∞ # Turn feature on
"kern[:]" 1 0 ∞ # Turn feature on
"kern[5:]" 1 5 ∞ # Turn feature on, partial
"kern[:5]" 1 0 5 # Turn feature on, partial
"kern[3:5]" 1 3 5 # Turn feature on, range
"kern[3]" 1 3 3+1 # Turn feature on, single char
Mixing it all:
"kern[3:5]=0" 1 3 5 # Turn feature off for range
2011-04-04 14:50:09 -04:00
Behdad Esfahbod
ccc6745afa
[hb-view] Use cached hb-ft face creation
...
Avoids recreating the face the second time we call draw().
2011-04-04 14:49:50 -04:00
Behdad Esfahbod
1b4a2cc095
[hb-view] Add --debug
...
Frees all allocated memory before exiting. Useful for valgrind run.
2011-04-04 14:45:28 -04:00
Behdad Esfahbod
b2da26d1e3
[hb-view] Support --features
...
Accepts values like:
--features="-mkmk,aalt=2,calt=1,+cswh"
A minus sign means "=0", a plus sign means "=1". Default is "=1".
A minus sign overrides an explicit value.
2011-04-01 15:48:43 -04:00
Behdad Esfahbod
f48ff19b62
Sort options for clarity
2011-04-01 14:19:10 -04:00
Behdad Esfahbod
5d91c3d547
Add script to/from ISO 15924 tag support
...
Also adds --script support to hb-view.
If a script tag is not known to us, we pass the ISO 15924 tag around.
Right now, the OT layer ignores that, but we can fix it to blindly
convert that to an OT script tag.
2011-03-16 17:36:32 -03:00
Behdad Esfahbod
3286fc0e9a
Let hb_shape() guess script and direction...
...
- Rename HB_SCRIPT_INVALID_CODE to HB_SCRIPT_INVALID
- Add HB_DIRECTION_INVALID
- Make hb_script_get_horizontal_direction() public
- Make hb_shape() guess script from buffer text (first non-common
non-inherit script) if buffer script is set to HB_SCRIPT_INVALID (this
is NOT the default.)
- Make hb_shape() guess direction from buffer script if buffer direction
is set to HB_DIRECTION_INVALID (this is NOT the default.)
- Make hb-view.c set INVALID script and direction on the buffer.
The above changes are meant to make hb-view fairly useful for uni-script
uni-direction text. The guessing behavior however is NOT the default of
hb_shape() and must be asked for explicitly. This is intended, because
the guess is not a suitable substitute to full-fledged bidi and script
segmentation. It's just a testing tool.
2011-03-16 14:53:32 -03:00
Behdad Esfahbod
b7b29684df
[hb-view] Handle write_to_png errors
2011-03-02 01:01:03 -05:00
Behdad Esfahbod
c2cb98c818
[hb-view] Link with -lm
2011-03-01 23:18:09 -05:00
Behdad Esfahbod
b5dd44e246
Fix possible overflow
2011-02-28 10:13:52 -08:00
Behdad Esfahbod
a4b781e93a
Default background color shall either be white or transparent
...
Definitely not black!
2011-02-23 12:47:56 -05:00
Behdad Esfahbod
5353bf439c
Add initial hb-view tool
...
Currently doesn't handle script or direction.
2011-02-22 18:06:19 -05:00
Bradley Grainger
82438c6ad5
Fix #pragma message for MSVC.
...
__LOC__ was renamed to _HB__LOC__ in cd7555 but the corresponding
change wasn't made in hb-private.h.
2011-02-15 18:37:29 -05:00
Behdad Esfahbod
ba9ab8d6d9
Fix language extension matching
2011-01-10 07:45:41 -05:00
Behdad Esfahbod
7bbe14bed8
Fix 'make distcheck'
2011-01-09 22:29:14 -05:00
Behdad Esfahbod
cc1a8a938b
Fix ChanContext backtrack matching with GPOS
...
Reported on mailing list by Keith Stribley and Khaled Hosny.
2011-01-06 14:58:52 -05:00
Behdad Esfahbod
1c3183027f
Remove unused realloc
...
We always allocate and grow str and pos together.
2011-01-06 14:44:14 -05:00
Behdad Esfahbod
756f794a1f
Remove Graphite backend
...
It was unmaintained and the code has to be replaced to use the new
grphite-ng code base.
2010-12-26 20:52:40 -05:00
Behdad Esfahbod
f3d9d98793
Docs
2010-12-22 01:39:29 -05:00
Behdad Esfahbod
d86a5b3c57
Bug 32274 - classic mongolian shaper
...
Add support for classic Mongolian script to the Arabic shaper.
Still work to be done around U+180E MONGOLIAN VOWEL SEPARATOR as it
should not be included in the final glyph stream the same way that
ZWNJ, etc should not appear in the final glyph stream.
But the joining part should be done.
There remains the question of how should the U+18A9 MONGOLIAN LETTER ALI
GALI DAGALGA be handled as it has General Category NSM but a letter
nonetheless. For now, our generic logic makes this a joining T instead
of joining D as other Mongolian letters are.
2010-12-21 18:36:25 -05:00
Behdad Esfahbod
b0e7378fa9
Reroute Mandaic shaping through the Arabic shaper
...
We added Mandaic joining data to the Arabic shaper a while ago, but
were not actually using the Arabic shaper for Mandaic. Fixed.
2010-12-21 14:19:32 -05:00
Behdad Esfahbod
88e7f37488
Annotate the Arabic joining table with block information
2010-12-21 14:18:24 -05:00
Behdad Esfahbod
1482a39e56
Rename remaining metrics uses to extents
2010-12-17 20:15:05 -05:00
Behdad Esfahbod
22c537657c
Rename TableDirectory to TableRecord as per OpenType 1.6
2010-12-14 23:51:29 -05:00
Behdad Esfahbod
33e8b86197
Update 'head' table to OpenType 1.6
2010-12-13 15:54:56 -05:00
Behdad Esfahbod
b768333514
Disallow ligature substitutions replacing one glyph
2010-12-13 14:22:35 -05:00
Behdad Esfahbod
7eb875118d
Mozilla Bug 618592 - freeze on typekit
...
Fix apply_lookup() for zero-input broken fonts.
2010-12-13 14:13:35 -05:00
Behdad Esfahbod
bbbbe80ec9
Rename original_direction to target_direction
2010-12-07 16:22:02 -05:00
Behdad Esfahbod
ee8aaf976a
Fix arabic shaping of LTR text
...
We should ensure-direction before doing any complex work. The only
exception is mirroring that needs to see the original / final direction,
not the native. Handle that.
2010-12-07 16:20:42 -05:00
Behdad Esfahbod
4f9e4a40bc
Fix failing checks
2010-11-22 11:30:32 -05:00
Behdad Esfahbod
9da26d6669
Remove email address from Copyright headers
2010-11-22 11:03:18 -05:00
Behdad Esfahbod
a45f000192
Clarify copyright notice
2010-11-18 13:59:10 -05:00
Behdad Esfahbod
0884a8d9cd
Move generated table to its own file
2010-11-17 16:58:21 -05:00
Behdad Esfahbod
14d784116b
Update Arabic joining table to include Mandaic
...
Mandaic was added to Unicode 6.0, but the joining data was not updated.
Draft ArabicShaping.txt from 6.1 includes the joining data for Mandaic.
Use that.
2010-11-17 16:52:58 -05:00
Behdad Esfahbod
43bf2f7f1e
Add OpenType script tags for Unicode 5.2 and Unicode 6.0 scripts
...
Based on tags proposed by Microsoft for inclusion in OpenType.
2010-11-17 14:49:40 -05:00
Behdad Esfahbod
afab01cf7c
Add Unicode 6.0 scripts
2010-11-17 14:35:34 -05:00
Behdad Esfahbod
f234b68d18
Change HB_SCRIPT_MEITEI_MAYEK to HB_SCRIPT_MEETEI_MAYEK
...
The new name matches the Unicode name. Reported by Jonathan Kew.
2010-11-17 14:25:44 -05:00
Behdad Esfahbod
300cb41417
Add XXX marks
2010-11-17 12:57:23 -05:00
Behdad Esfahbod
3a852ae7fe
Save general category and combining class in the buffer for reuse
2010-11-03 16:37:24 -04:00
Behdad Esfahbod
a5ab682b9b
More "unreached code" warning fixes
...
Ugly :(.
2010-11-03 16:10:12 -04:00
Behdad Esfahbod
4e22c7e941
Add comment
2010-11-03 16:10:12 -04:00
Behdad Esfahbod
0342034d1c
Pedantic
2010-11-03 16:10:12 -04:00
Behdad Esfahbod
4a2d844c2f
Minor code shuffling
2010-11-03 15:28:56 -04:00
Behdad Esfahbod
11e3ec444a
Fix a few more "unreachable code" warnings
2010-11-03 15:11:04 -04:00
Behdad Esfahbod
2304856340
Remove another couple lines of dead code
2010-11-03 12:47:27 -04:00
Behdad Esfahbod
b8783c85ac
Fix unreachable-code warning
2010-11-03 11:51:43 -04:00
Behdad Esfahbod
c2709119c8
Move things around some more
2010-11-02 19:12:59 -04:00
Behdad Esfahbod
194d4566ec
Move buffer var allocation local
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
870e2d6eac
Remove unused function
2010-11-02 19:12:58 -04:00
Behdad Esfahbod
1115890b90
More cleanup
2010-11-02 19:12:58 -04:00
Behdad Esfahbod
dbf56b1d94
More lig-id cleanup
2010-11-02 19:12:58 -04:00
Behdad Esfahbod
f6a23a0b91
More removal of lig-id code from buffer
2010-11-02 19:12:58 -04:00
Behdad Esfahbod
dd2ffd282c
Minor renaming
2010-11-02 19:12:58 -04:00
Behdad Esfahbod
fe263272a2
Move setting lig_id/component out of buffer and to the gsub code
2010-11-02 19:12:58 -04:00
Behdad Esfahbod
2e2b2480c0
Always allocate new ligature id
...
No practical point in reusing ligature ids.
2010-11-02 19:12:58 -04:00
Behdad Esfahbod
bf07d5a29c
Set component=0 for ligature glyph
2010-11-02 19:12:58 -04:00
Behdad Esfahbod
37ab877149
Remove comment
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
6cb8c34930
Add hb_var_int_t
2010-11-02 19:12:57 -04:00
Behdad Esfahbod
f22802431a
Remove trailing comma
2010-11-02 19:12:57 -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
d6c9eadb88
Remove more pointless LONGTERMTODO items
2010-10-27 12:34:50 -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
8eeed7eddc
Remove LONGTERMTODO item that I'll never fix
2010-10-27 12:07:49 -04:00
Behdad Esfahbod
184a5279c6
Remove unused macro
2010-10-27 12:00:49 -04:00
Behdad Esfahbod
af5d02a269
Rewrite Cursive joining to act more like other pair lookups
...
Look forward for next character instead of joining to the last character.
2010-10-27 11:54:26 -04:00
Behdad Esfahbod
ea22c749c7
Fix Cursive positioning
...
Test case: "مرا" rendered using IranNastaliq.
2010-10-27 11:09:48 -04:00
Behdad Esfahbod
aefdb64689
Fix segfault with Arabic combining marks
2010-10-27 10:40:39 -04:00
Behdad Esfahbod
248e3c2ba4
Oops, remove extra mask setting that broke complex shaping
2010-10-27 01:23:14 -04:00
Behdad Esfahbod
502f4cba3e
Divide get_metrics into get_advance and get_extents
...
Graphite module not updated.
Bump version to 0.3.
2010-10-27 01:13:56 -04:00
Behdad Esfahbod
ec6c0e54d3
Fix blob leak
2010-10-26 11:28:14 -04:00
Behdad Esfahbod
bd7378b2ef
Massage mask setting a bit more
...
Still finding the exact correct way the masks should be set.
2010-10-13 18:33:16 -04:00
Behdad Esfahbod
961f9baa7b
Oops, actually set global mask
2010-10-13 17:17:00 -04:00
Behdad Esfahbod
39dede9fff
Make sure boolean features always use value=1
...
Previously boolean features turned on the entire feature mask. This is
wrong if feature is Alternate and user has provided values bigger than one.
Though, I don't think other engines support such corner cases.
2010-10-13 15:54:06 -04:00
Behdad Esfahbod
3506b2e78d
Return early if mask is 0
2010-10-13 15:38:52 -04:00
Behdad Esfahbod
5c1c8c9c50
Make sure feature values don't leak out of their mask
2010-10-13 15:36:38 -04:00
Behdad Esfahbod
852912fc2d
Fix applying default-value for features
...
Previously if a default global feature was overrided by a non-global
user feature, we were not setting any default mask for the feature,
essentially disabling the feature by default. Fix that.
2010-10-13 15:34:50 -04:00
Behdad Esfahbod
2989be4919
Set user masks after complex masks
2010-10-13 15:18:29 -04:00
Behdad Esfahbod
3111b8a0d5
Fix stupid bug, oops
2010-10-13 10:41:53 -04:00
Behdad Esfahbod
758f68b860
Fix Arabic shaper
...
It's tested now. It works!
2010-10-12 17:37:44 -04:00
Behdad Esfahbod
13403bc67a
Hookup Arabic shaper!
...
Not tested yet.
2010-10-12 17:23:54 -04:00
Behdad Esfahbod
57ac0ecb78
Merge clearing masks and setting global masks
2010-10-12 17:07:02 -04:00
Behdad Esfahbod
fc96596b7c
Form clusters before setting masks
2010-10-12 17:00:40 -04:00
Behdad Esfahbod
1e80782244
Clear masks before setting them up, not after!
2010-10-12 17:00:07 -04:00
Behdad Esfahbod
fd3d32d31c
Add hb_ot_shape_execute()
...
Not public yet.
2010-10-12 16:57:47 -04:00
Behdad Esfahbod
49baa1f69e
Add hb_ot_complex_shaper_t stuff and start hooking Arabic shaper up
2010-10-12 16:50:36 -04:00
Behdad Esfahbod
605ed468f3
Add hb_ot_shape_plan_t
...
This is the object that a separate plan/execute shaping API will use in
between the two stages.
2010-10-12 16:19:38 -04:00
Behdad Esfahbod
895fb5d364
Refactor, in a different direction
2010-10-12 16:00:21 -04:00
Behdad Esfahbod
d2ba016ca1
More refactoring
2010-10-12 15:35:45 -04:00
Behdad Esfahbod
66e487dfbf
Update Arabic shaping table to Unicode 6.0.0.
2010-10-12 13:51:19 -04:00
Behdad Esfahbod
f4792d99ee
Fix infinite loop!
...
Untested code is indeed buggy code.
Mozilla bug #603352 .
2010-10-12 12:32:18 -04:00
Behdad Esfahbod
993d1e786a
Fix missing negation in unreachable code!
...
Mozilla bug #603346
2010-10-12 11:17:30 -04:00
Behdad Esfahbod
52601275d5
More separation
2010-10-08 20:38:46 -04:00
Behdad Esfahbod
6b7e675862
Minor
2010-10-08 20:30:04 -04:00
Behdad Esfahbod
aa9c450bb2
Enable 'rtlm' mirroring
2010-10-08 20:27:38 -04:00
Behdad Esfahbod
36925f695d
Rename hb_mask_allocator_t to hb_ot_map_t
...
hb_ot_plan_t may be a better name, donno.
2010-10-08 20:21:09 -04:00
Behdad Esfahbod
f5dd3be46b
Improve checks
2010-10-08 20:16:23 -04:00
Behdad Esfahbod
5a2b0b3878
Add hb-ot-map.cc
2010-10-08 20:14:57 -04:00
Behdad Esfahbod
ecc4550ed7
Fix feature overriding
2010-10-08 20:05:29 -04:00
Behdad Esfahbod
8f08c32750
Minor cleanup
2010-10-08 19:51:03 -04:00
Behdad Esfahbod
a806762a31
Add hb-ot-shape-private.hh
2010-10-08 19:21:46 -04:00
Behdad Esfahbod
4924affe0f
Add hb-ot-map-private.hh
2010-10-08 19:18:16 -04:00
Behdad Esfahbod
a7c5046d6b
Add private hb_segment_properties_t
2010-10-08 18:47:47 -04:00
Behdad Esfahbod
b897c607d9
Flip the OT bit-allocation vs gsub/gpos inside-out
...
We now build our entire attack plan before jumping in.
2010-10-08 18:41:57 -04:00
Behdad Esfahbod
e89b7d2a61
Logically separate feature collection
2010-10-08 12:29:59 -04:00
Behdad Esfahbod
5b88908f12
Minor
2010-10-08 12:23:01 -04:00
Behdad Esfahbod
5360ce0c5c
Move some more code around
2010-10-07 21:21:11 -04:00
Behdad Esfahbod
d9c7260788
Minor
2010-10-07 21:19:54 -04:00
Behdad Esfahbod
efe0d682e8
Simplify compiling lookups
2010-10-07 21:12:46 -04:00
Behdad Esfahbod
476c94218b
Rename
2010-10-07 17:47:33 -04:00
Behdad Esfahbod
34db6f031d
Add XXX note
2010-10-07 01:21:19 -04:00
Behdad Esfahbod
98aa3f6544
Call hb_ot_shape_setup_lookups_complex()
2010-10-06 00:23:36 -04:00
Behdad Esfahbod
f1d07885dc
Rename setup_lookups()
2010-10-06 00:21:37 -04:00
Behdad Esfahbod
affc5abac7
Move table_tag to hb_ot_shape_context_t
2010-10-06 00:18:16 -04:00
Behdad Esfahbod
967240dd8b
Add internal hb_ot_shape_context_t
2010-10-05 23:00:05 -04:00
Behdad Esfahbod
3eb936f153
Add Arabic/Syriac/N'ko shaping logic
...
Not hooked up just yet.
2010-10-05 19:22:06 -04:00
Behdad Esfahbod
e81d7afe6e
Add hb_face_get_upem()
2010-10-04 18:18:48 -04:00
Behdad Esfahbod
bd361945a8
Add API comments
2010-10-04 17:22:57 -04:00
Behdad Esfahbod
645f6f265b
Add is_mutable() functions
...
Correspond to the make_mutable() ones.
2010-10-04 17:01:01 -04:00
Behdad Esfahbod
19c0eab8cf
Add getters for all setter APIs
...
One in particular is not a straight getter: hb_font_unset_funcs() is
special because of the specific needs of the lifecycle management of
the user_data object.
2010-10-04 16:45:21 -04:00
Behdad Esfahbod
f0feb084b0
Minor
2010-10-03 19:09:39 -04:00
Behdad Esfahbod
ac0c1663fa
Avoid div-by-zero, validate upem
2010-10-01 19:09:23 -04:00
Behdad Esfahbod
7f97d2cd90
Pedantic
2010-10-01 19:09:01 -04:00
Behdad Esfahbod
2841436926
Don't zero glyph advances in MarkToBase and similar lookups
...
See email thread "Should MarkToBase attachment zero the mark advance?"
started by Jonathan Kew on 23 August 2010 for details.
2010-10-01 18:32:45 -04:00
Behdad Esfahbod
36b3862009
One fewer cmp() implementation...
2010-09-29 12:10:24 -04:00
Behdad Esfahbod
4e573715ae
Improve cmp function parameter namings and casts
...
No semantic change.
2010-09-28 16:28:57 -04:00
Behdad Esfahbod
dca8aff246
Add comment re DejaVu Sans Mono having 'dflt' script
2010-09-28 16:25:45 -04:00
Behdad Esfahbod
9dc45401c0
Fix stupid bug in bsearch cmp function!
2010-09-28 16:23:28 -04:00
Behdad Esfahbod
f2a30bd605
Remove unimplemented method hb_font_get_funcs()
...
Got to add a suitable replacement.
2010-09-23 10:27:08 -04:00
Behdad Esfahbod
7b9a38a112
Add test.c using public API
2010-09-22 17:42:59 -04:00
Behdad Esfahbod
9ea7368fce
Fix hb_ot_layout leak
2010-09-22 17:38:44 -04:00
Behdad Esfahbod
8e577acae2
Fix blob refcounting with insane SFNT table directories
2010-09-22 17:37:02 -04:00
Behdad Esfahbod
5bd1e95236
Speedup Device table delta computation for common cases
2010-09-22 16:46:18 -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
258305c2a5
[GPOS] Fix div-by-zero
...
Patch by Jonathan Kew. Mozilla bug #465728 .
2010-08-13 14:10:02 -04:00
Behdad Esfahbod
2422c4b96d
Add TODO
2010-08-13 14:00:34 -04:00
Behdad Esfahbod
27f0b092a1
Logically separate feature allocation from application
2010-07-23 17:35:54 -04:00
Behdad Esfahbod
6cf63132dc
Minor
2010-07-23 17:32:26 -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
cc6d52279d
De-C++ where possible
...
Helps with avoiding many "extern C" declarations in source files.
2010-07-23 15:00:13 -04:00
Behdad Esfahbod
0dd200d28f
Header dep cleanup
2010-07-23 14:56:29 -04:00
Behdad Esfahbod
fb0d252462
dos2unix
2010-07-23 14:54:22 -04:00
Behdad Esfahbod
81408cd51c
Don't use "operator ="
...
Some compilers don't like operator = defined on members of union members
either. Reported by Ginn Chen for Sun Studio compilers.
2010-07-23 14:46:57 -04:00
Behdad Esfahbod
4f801bd658
Mozilla bug 580233 - check for zero-length record in hb sanitizer.
...
Patch / report by Jonathan Kew.
2010-07-21 16:37:01 -04:00
Behdad Esfahbod
17e9ff938b
Fix 64bit issues with debug prints
2010-07-15 11:21:34 -07:00
Behdad Esfahbod
fd56ae4963
Don't bother sorting, it's a safe font error if the array is not sorted
2010-07-08 00:53:40 -04:00
Behdad Esfahbod
cc8a4abea6
Use bsearch where applicable
2010-07-08 00:40:04 -04:00
Behdad Esfahbod
2f418f5709
Remove useless TODO
2010-07-07 22:07:40 -04:00
Behdad Esfahbod
da8edbb622
Fix header
2010-06-09 07:15:39 -04:00
Behdad Esfahbod
d05d13df02
Add a test for header preprocessor guards
2010-06-09 07:15:03 -04:00
Behdad Esfahbod
0f0cd9d361
Fix header tags
2010-06-09 06:32:56 -04:00
Behdad Esfahbod
f2a1b411b1
Followup fix for variation-selectors
...
Patch from Jonathan Kew
2010-06-03 11:37:51 -04:00
Behdad Esfahbod
a224b4d502
Fix skipping variation-selectors
2010-06-02 22:31:41 -04:00
Behdad Esfahbod
81a77b115d
Make feature sorting stable
2010-06-01 23:03:54 -04:00
Behdad Esfahbod
fdc322a820
Minor
2010-05-28 20:55:52 -04:00
Behdad Esfahbod
f062ec6bb2
Further simplify mask allocator
2010-05-28 20:54:43 -04:00
Behdad Esfahbod
8af45fda47
Fix global feature handling
2010-05-28 20:41:20 -04:00
Behdad Esfahbod
e04685ee7b
Simplify mask allocation
2010-05-28 20:37:06 -04:00
Behdad Esfahbod
0e235d0fc9
Towards a mask allocator
2010-05-28 20:27:30 -04:00
Behdad Esfahbod
81c5e8724b
Allow disabling default features
...
Patch from Jonathan Kew
2010-05-28 18:31:16 -04:00
Behdad Esfahbod
2163afbf35
Add note about UTF-8 decoder
2010-05-27 14:04:15 -04:00
Behdad Esfahbod
226faa58f4
Fix loop
2010-05-27 11:42:34 -04:00
Martin Hosken
56bef5680c
Fixes to Python and Graphite from Martin
2010-05-27 11:41:47 -04:00
Behdad Esfahbod
b485da0b71
Disable Graphite as it crashes all over the place...
2010-05-27 11:39:19 -04:00
Behdad Esfahbod
93ac709b1f
Cypriot is RTL
2010-05-26 16:22:00 -04:00
Behdad Esfahbod
15c7379c16
Revert "Merge remote branch 'martin/master'"
...
This reverts commit 80af2812fb
, reversing
changes made to c442672ec2
.
2010-05-26 10:48:10 -04:00
Behdad Esfahbod
80af2812fb
Merge remote branch 'martin/master'
2010-05-24 18:14:24 +01:00
Behdad Esfahbod
c442672ec2
Fix struct initializers
2010-05-24 18:02:32 +01:00
Behdad Esfahbod
f5ac9de259
Minor
2010-05-24 18:01:09 +01:00
Behdad Esfahbod
f97bf4f812
Make sure we initialize all callbacks upon creation
...
Also fixes issue with unicode callbacks never being set really.
2010-05-24 17:50:19 +01:00
Behdad Esfahbod
bf36a1074a
Move all callback functions in a vtable structs
2010-05-24 17:46:21 +01:00
Martin Hosken
3109a86add
hb-graphite now no longer has -ve advances within clusters. Fix infinite loop in tag_to_script(). python fixed to use tag_to_script and allow hbtestfont to be passed font files, where fontconfig knows about them.
2010-05-24 13:25:37 +01:00
Martin Hosken
72631c9d06
Merge branch 'master' of git://git.freedesktop.org/~behdad/harfbuzz-ng
2010-05-22 09:38:02 +01:00
Martin Hosken
1432ab15c1
Add graphical output to hbtestfont
2010-05-22 00:56:40 +01:00
Behdad Esfahbod
bbc7a99d01
Move mirroring around a bit
2010-05-21 18:25:08 +01:00
Behdad Esfahbod
bd0987386b
Add a few more standard features
2010-05-21 18:06:35 +01:00
Behdad Esfahbod
75f3469ca6
Add note
2010-05-21 17:59:04 +01:00
Behdad Esfahbod
1094a294f6
Add rtlm
2010-05-21 17:58:20 +01:00
Behdad Esfahbod
074ea78749
Add ltra, ltrm, and rtla features
2010-05-21 17:53:10 +01:00
Behdad Esfahbod
1ce7b87c4d
Cleanup bitmask allocation
2010-05-21 17:31:45 +01:00
Behdad Esfahbod
dd22a8f7bf
Add note
2010-05-21 16:43:17 +01:00
Martin Hosken
cbd1d6a63a
Rename Grxxx to HbGrxxx
2010-05-21 15:16:43 +01:00
Martin Hosken
0375bdd202
Rename classes from Grxxx to HbGrxxx
2010-05-21 15:13:26 +01:00
Behdad Esfahbod
a5a72e004b
Add hb-ot-shape.h, oops.
2010-05-21 15:12:52 +01:00
Behdad Esfahbod
aa62a402a7
Fix Makefile to install hb-ot-shape.h
2010-05-21 14:42:11 +01:00
Behdad Esfahbod
9722b8f005
Simple renames
2010-05-21 14:37:47 +01:00
Behdad Esfahbod
02f28550d7
Graphite also forces us to link to libstdc++ currently
2010-05-21 14:37:28 +01:00
Behdad Esfahbod
ca663bb23c
Move main shaper code into hb_ot_shape()
2010-05-21 14:34:23 +01:00
Behdad Esfahbod
7acd232d36
Fix test failing
2010-05-21 14:20:48 +01:00
Behdad Esfahbod
dd47924d88
Fix warnings
2010-05-21 14:18:08 +01:00
Behdad Esfahbod
305ba86715
Import Graphite shaping backend by Martin Hosken
2010-05-21 14:15:39 +01:00
Behdad Esfahbod
83f34677bc
Add hb_tag_from_string()
2010-05-21 13:43:49 +01:00
Behdad Esfahbod
4a9a5c0b06
Don't allocate bits for features not available
2010-05-21 13:33:46 +01:00
Behdad Esfahbod
e53d77142a
Speed up feature mask setting
...
Patch from Jonathan Kew.
2010-05-21 13:32:38 +01:00
Behdad Esfahbod
4fa67f34ec
Add Unicode 5.2 scripts
2010-05-21 13:29:12 +01:00
Behdad Esfahbod
ee1b322100
Fix feature mask setting
2010-05-21 12:55:57 +01:00
Behdad Esfahbod
b490fa3433
Add hb_ot_tag_to_script()
2010-05-21 11:15:07 +01:00
Behdad Esfahbod
280af1bddb
Let hb_face_get_table() return NULL if table not found
2010-05-20 18:33:35 +01:00
Behdad Esfahbod
1cdbfd944e
Fix alternate, again
2010-05-20 17:47:28 +01:00
Behdad Esfahbod
fdca3d5160
Fix alternate off-by-one
2010-05-20 17:46:20 +01:00
Behdad Esfahbod
b634beb39e
Fix delta scale, again...
2010-05-20 17:44:52 +01:00
Behdad Esfahbod
40335d4533
Remove unused operator
2010-05-20 17:35:14 +01:00
Behdad Esfahbod
f7acd8df51
Do alternate glyph selection!
...
Kinda hand-wavy right now. Not tested.
2010-05-20 17:26:35 +01:00
Behdad Esfahbod
750a229455
get_table() is allowed to return NULL. Use that to simplify code
2010-05-20 16:23:27 +01:00
Behdad Esfahbod
99d9ef785f
Write hb_face_create_for_data() in terms of hb_face_create_for_tables()
...
Fixes lack of head_table initialization in create_for_tables() also.
2010-05-20 15:47:49 +01:00
Behdad Esfahbod
6774463883
Apply user features to ranges!
2010-05-20 15:41:20 +01:00
Behdad Esfahbod
9b60233385
Add _hb_bit_storage()
2010-05-20 15:31:12 +01:00
Behdad Esfahbod
6b1b957f6d
Add lookup_map
2010-05-20 15:14:44 +01:00
Behdad Esfahbod
60010a0c4d
Update always-apply mask from 0xFFFF to 1
...
We plan to use the first bit to be always on.
2010-05-20 14:05:02 +01:00
Behdad Esfahbod
009aad5678
Invert the mask logic
...
Before, the mask in the buffer was inverted. That is, a 0 bit meant
feature should be applied and 1 meant not applied, whereas in the
lookups, the logic was positive.
Now both are in sync. When calling hb_buffer_add_glyph() manually,
the mask should be 1 instead of 0.
2010-05-20 14:00:57 +01:00
Behdad Esfahbod
7f411dbfd9
Apply user features
...
No ranges yet
2010-05-20 13:40:18 +01:00
Behdad Esfahbod
0db299ccad
Change hb_feature_t to keep tag/int instead of string
2010-05-20 13:30:09 +01: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
cf5585cfa6
Add 'head' table
2010-05-19 12:03:35 -04:00
Behdad Esfahbod
e29caf3f94
Add LONGDATETIME
2010-05-19 11:47:17 -04:00
Behdad Esfahbod
f415755fdf
Minor
2010-05-17 15:14:14 -04:00
Behdad Esfahbod
73af7756dc
Indent
2010-05-14 23:38:08 -04:00
Behdad Esfahbod
3567b87cce
Add an inline version of hb_buffer_ensure()
2010-05-14 23:28:44 -04:00
Behdad Esfahbod
a6a79df5fe
Handle malloc failture in the buffer
2010-05-14 23:20:16 -04:00
Behdad Esfahbod
ca54a12658
Minor
2010-05-14 22:25:42 -04:00
Behdad Esfahbod
910a33fe84
Update buffer docs
2010-05-14 22:13:38 -04:00
Behdad Esfahbod
36b73c80df
Shortening buffer accessors: rename buffer->in_pos to buffer->i
2010-05-14 22:10:39 -04:00
Behdad Esfahbod
29427c5c51
Shortening buffer accessors: rename buffer->out_length to buffer->out_len
2010-05-14 22:08:22 -04:00
Behdad Esfahbod
6960350be9
Shortening buffer accessors: rename buffer->in_length to buffer->len
2010-05-14 22:07:46 -04:00
Behdad Esfahbod
1b621823f3
Shortening buffer accessors: rename buffer->positions to buffer->pos
2010-05-14 22:05:53 -04:00
Behdad Esfahbod
9d5e26df08
Shortening buffer accessors: rename buffer->out_string to buffer->out_info
2010-05-14 22:03:11 -04:00
Behdad Esfahbod
7e7007a1c9
Shortening buffer accessors: rename buffer->in_string to buffer->info
2010-05-14 22:02:37 -04:00
Behdad Esfahbod
8e6b6bb293
Merge buffer->out_pos and buffer->out_length
2010-05-14 21:58:22 -04:00
Behdad Esfahbod
22f668eb9a
Remove the unused BUFFER macro
2010-05-14 21:41:04 -04:00
Behdad Esfahbod
7e53ebe478
Remove the IN_CURGLYPH() macro
2010-05-14 21:38:46 -04:00
Behdad Esfahbod
d784da1923
Remove the IN_CURINFO() macro
2010-05-14 21:37:18 -04:00
Behdad Esfahbod
281f59b4fb
Remove IN_INFO() and IN_NEXTGLYPH() macros
2010-05-14 21:34:22 -04:00
Behdad Esfahbod
6e489cdf76
Remove the IN_GLYPH() macro
2010-05-14 21:07:35 -04:00
Behdad Esfahbod
01feb74c78
Remove the IN_CLUSTER() macro
2010-05-14 21:00:08 -04:00
Behdad Esfahbod
d63a1e089a
Remove the IN_MASK() macro
2010-05-14 20:30:07 -04:00
Behdad Esfahbod
89e2834dab
Remove the IN_LIGID() macro
2010-05-14 20:26:44 -04:00
Behdad Esfahbod
4a871041f4
Remove IN_COMPONENT() macro
2010-05-14 20:25:04 -04:00
Behdad Esfahbod
27da6dd89a
Remove OUT_GLYPH() and OUT_INFO() macros
2010-05-14 20:17:50 -04:00
Behdad Esfahbod
cc6ae7ff91
Fix lookahead matching. Oops!
2010-05-14 20:09:48 -04:00
Behdad Esfahbod
3109375b84
Remove POSITION() and CURPOSITION() macros
2010-05-14 19:55:27 -04:00
Behdad Esfahbod
d7cfb3b2d1
s/\<context\>/c/g
2010-05-13 14:18:49 -04:00
Behdad Esfahbod
f679635893
Don't use variable-length-arrays
2010-05-13 13:34:17 -04:00
Behdad Esfahbod
72071a8afa
Add a few more buffer convenience methods
2010-05-13 13:22:24 -04:00
Behdad Esfahbod
11a81612e5
Minor
2010-05-13 00:01:40 -04:00
Behdad Esfahbod
3f93518a63
Improve check for internal symbols
2010-05-12 23:48:40 -04:00
Behdad Esfahbod
357d0f29c4
Make HB_PRIVATE more useful
...
So we can apply it to class methods also. Not sure if that works!
2010-05-12 23:46:16 -04:00
Behdad Esfahbod
1d5e780136
Add a few other buffer methods
2010-05-12 23:43:00 -04:00
Behdad Esfahbod
d0316a81f5
Add buffer->swap()
2010-05-12 23:34:52 -04:00
Behdad Esfahbod
3b649a38b5
Add check for internal symbols
2010-05-12 23:28:38 -04:00
Behdad Esfahbod
eee8598d75
Hide internal symbols
2010-05-12 23:22:55 -04:00
Behdad Esfahbod
8951fc2c82
Add buffer->allocate_lig_id()
2010-05-12 23:13:39 -04:00
Behdad Esfahbod
1ce4dc95db
Use bit tricks for HB_DIRECTION_IS_*
...
We already depend on the exact values of the direction enum
in HB_DIRECTION_REVERSE(), so we may as well use that.
2010-05-12 18:29:25 -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
c3df649f25
Fix comment
2010-05-11 13:54:12 -04:00
Behdad Esfahbod
281f08954a
Remove obsolete friend
2010-05-11 11:37:58 -04:00
Behdad Esfahbod
70c9bfd564
Simplify PairSet
2010-05-11 00:36:30 -04:00
Behdad Esfahbod
97e7f8f305
Add CONST_FUNC annotation
2010-05-11 00:11:36 -04:00
Behdad Esfahbod
494d28ad98
Simplify likely() implementation
...
Shrinks .text by 1%!
2010-05-10 23:50:07 -04:00
Behdad Esfahbod
75651b2087
Fix warnings
2010-05-10 23:44:51 -04:00
Behdad Esfahbod
4c20d8c057
Sprinkle a few strategic likely()'s
...
Shrinks the code size by some 2% even.
2010-05-10 23:27:54 -04:00
Behdad Esfahbod
69cb28bc13
Remove a few likely()'s
2010-05-10 23:13:08 -04:00
Behdad Esfahbod
24552ecf92
Remove excess sub_format sanitize
2010-05-10 23:08:41 -04:00
Behdad Esfahbod
f7adc5e9be
Shrink NullPool now that we have accurate size tracking
2010-05-10 22:41:50 -04:00
Behdad Esfahbod
3d44fb6f15
Fix warning
2010-05-10 22:22:54 -04:00
Behdad Esfahbod
b5db4f1e4e
Clean up NO_INDEX
2010-05-10 22:22:22 -04:00
Behdad Esfahbod
fe9bc070e1
Fix awful confusion between lookup format and subtable format
...
As reported by John Daggett.
2010-05-10 21:39:24 -04:00
Behdad Esfahbod
458ecbb60b
Fix tracing order
2010-05-10 21:11:35 -04:00
Behdad Esfahbod
48146e5612
Don't fail sanitize on NULL data
2010-05-10 20:07:56 -04:00
Behdad Esfahbod
d2c2ca8faf
Fix comment
2010-05-10 19:58:25 -04:00
Behdad Esfahbod
b435ab7e29
Fix accessing tables from NULL pointer
2010-05-10 19:51:57 -04:00
Behdad Esfahbod
dacebcadae
Simplify unions
2010-05-10 19:45:41 -04:00
Behdad Esfahbod
fd671e0243
Remove unused macro
2010-05-10 19:02:32 -04:00
Behdad Esfahbod
0eb9fc6e37
Change DEFINE_SIZE_VAR to DEFINE_SIZE_ARRAY
2010-05-10 19:01:17 -04:00
Behdad Esfahbod
596e471aa5
Cleanup DEFINE_SIZE_VAR2
2010-05-10 18:48:29 -04:00
Behdad Esfahbod
33afa4e2dc
Minor
2010-05-10 18:35:02 -04:00
Behdad Esfahbod
b961518b96
Simplify array access
2010-05-10 18:20:54 -04:00
Behdad Esfahbod
54842374c2
Fix check_struct to check min_size instead of sizeof
2010-05-10 18:13:32 -04:00
Behdad Esfahbod
ed07422c33
Further cleanup of sizeof
2010-05-10 18:08:46 -04:00
Behdad Esfahbod
a82ef7a893
Remove CastP completely
2010-05-10 17:55:03 -04:00
Behdad Esfahbod
40cbefe858
Remove unnecessary casts
2010-05-10 17:47:22 -04:00
Behdad Esfahbod
09766b1ec5
Make StructAtOffset take a pointer
...
Is safer.
2010-05-10 17:36:03 -04:00
Behdad Esfahbod
bea34c7cbb
Further cleanup of DEFINE_SIZE
2010-05-10 17:28:16 -04:00
Behdad Esfahbod
0abcc3b48c
Cleanup
2010-05-10 17:04:20 -04:00
Behdad Esfahbod
b3651231bf
Remove ASSERT_SIZE in favor of the safer DEFINE_SIZE_STATIC
2010-05-10 16:59:57 -04:00
Behdad Esfahbod
569da92bc6
Cleanup ASSERT_SIZE_VAR
2010-05-10 16:46:36 -04:00
Behdad Esfahbod
99bf03459f
Whitespace
2010-05-06 19:37:32 -04:00
Behdad Esfahbod
65f46b0033
Simplify DEFINE_NULL_DATA
...
Using ::min_size.
2010-05-06 19:35:19 -04:00
Behdad Esfahbod
e45d3f86f9
Start cleaning up get_size()
...
So we know when the size is static and when dynamic.
2010-05-06 19:33:31 -04:00
Behdad Esfahbod
b157617644
Remove the last of SANITIZE macros: SANITIZE_SELF
2010-05-06 14:48:27 -04:00
Behdad Esfahbod
4f252fedc7
Remove SANITIZE macro
2010-05-06 13:30:23 -04:00
Behdad Esfahbod
c2ddfd2d26
Cleanup Value casts
2010-05-06 13:21:54 -04:00
Behdad Esfahbod
41a93d2c1f
Remove SANITIZE_WITH_BASE
2010-05-06 12:55:14 -04:00
Behdad Esfahbod
f5fab0c718
Remove SANITIZE_MEM
2010-05-06 10:26:52 -04:00
Behdad Esfahbod
4ad2cc5dec
Rename check to check_range
2010-05-06 09:24:56 -04:00
Behdad Esfahbod
1cd1e117d0
Remove SANITIZE_ARRAY
2010-05-05 20:15:14 -04:00
Behdad Esfahbod
583d7f9586
Cosmetic
2010-05-05 01:49:22 -04:00
Behdad Esfahbod
705e215268
Minor
2010-05-05 01:40:25 -04:00
Behdad Esfahbod
b18eafd0f6
Minor
2010-05-05 01:39:26 -04:00
Behdad Esfahbod
4169710911
Simplify chaining
2010-05-05 01:37:58 -04:00
Behdad Esfahbod
1911b9d21b
Remove APPLY_ARG_DEF and APPLY_ARG
2010-05-05 01:32:04 -04:00
Behdad Esfahbod
6c42cddfe5
Port apply to use hb_trace_t
2010-05-05 01:30:48 -04:00
Behdad Esfahbod
969c9705ae
Move context_length into apply_context
2010-05-05 01:23:44 -04:00
Behdad Esfahbod
94a23aaeca
Move buffer into apply_context
2010-05-05 01:13:09 -04:00
Behdad Esfahbod
63493f956d
Move layout_context into apply_context
2010-05-05 01:01:05 -04:00
Behdad Esfahbod
fff9aa263d
Minor
2010-05-05 00:32:21 -04:00
Behdad Esfahbod
27e302dc8e
I keep changing my mind about this
2010-05-05 00:26:16 -04:00
Behdad Esfahbod
39840474af
Remove SANITIZE_ARG_DEF and SANITIZE_ARG
2010-05-05 00:23:19 -04:00
Behdad Esfahbod
b261e2ad5c
Remove trace from sanitize_shallow()
2010-05-05 00:20:16 -04:00
Behdad Esfahbod
dfc8cbe854
Add hb_trace_t
2010-05-05 00:19:46 -04:00
Behdad Esfahbod
20e3dd5d29
Make sanitize_depth variable automatic and not passed through function args
2010-05-04 23:32:49 -04:00
Behdad Esfahbod
4a446ac351
Use function template for pass-thru argument
2010-05-04 22:56:20 -04:00
Behdad Esfahbod
98daaf183d
Make _hb_sanitize_*() methods of the context object
2010-05-04 22:42:49 -04:00
Behdad Esfahbod
bb029af943
Remove SANITIZE_THIS
2010-05-04 15:28:52 -04:00
Behdad Esfahbod
2226fc93d1
Rename SANITIZE_BASE to SANITIZE_WITH_BASE
2010-05-04 15:12:17 -04:00
Behdad Esfahbod
89da1346ec
Remove SANITIZE_OBJ
2010-05-04 15:01:45 -04:00
Behdad Esfahbod
4d4cce9626
Remove SANITIZE_THIS2
2010-05-04 14:57:55 -04:00
Behdad Esfahbod
26bfcb64e4
Cosmetic
2010-05-04 14:49:45 -04:00
Behdad Esfahbod
be74284673
Remove SANITIZE_THIS3
2010-05-04 14:47:05 -04:00
Behdad Esfahbod
fbab9f9bd8
Remove SANITIZE_BASE2
2010-05-04 14:42:10 -04:00
Behdad Esfahbod
73c7dbf7f5
Remove SANITIZE2
2010-05-04 14:40:55 -04:00
Behdad Esfahbod
c9f14687a3
Remove the NEUTER macro, move code to a method
2010-05-04 14:38:08 -04:00
Behdad Esfahbod
30fa2821c2
Make internal method private
2010-05-04 14:28:18 -04:00
Behdad Esfahbod
ce5694c796
[main] Recognize Apple SFNTs
2010-05-04 14:10:18 -04:00
Behdad Esfahbod
710500a93e
Comment new SFNT tags
2010-05-03 23:11:16 -04:00
Behdad Esfahbod
64d3fc8d0d
Cosmetic: Rename HB_LIKELY/HB_UNLIKELY to likely/unlikely
2010-05-03 22:51:19 -04:00
Behdad Esfahbod
fa3b3d5844
Mark a couple functions as inline
2010-05-03 22:47:22 -04:00
Behdad Esfahbod
6b84198f9d
Merge remote branch 'jrmuizel/master'
2010-05-03 22:46:52 -04:00
Jeff Muizelaar
eaf29edb8f
HB_UNUSED is unneeded on static inline functions
2010-05-03 22:27:56 -04:00
Jeff Muizelaar
4ce578ed36
Include the tags from the Apple specification for TrueType fonts
2010-05-03 15:03:53 -04:00
Behdad Esfahbod
631d10b728
Remove unused method
2010-05-02 21:14:21 -04:00
Behdad Esfahbod
f0abcd6940
Whitespace
2010-05-02 18:14:25 -04:00
Behdad Esfahbod
a8d960bd26
[GPOS] Speedup apply_value()
2010-04-29 14:31:56 -04:00
Behdad Esfahbod
2cd1ea4411
[ft] Disallow getting the entire font data with tag=0
2010-04-29 14:16:43 -04:00
Behdad Esfahbod
33d13fdda9
Rename HB_GNUC_UNUSED -> HB_UNUSED
2010-04-29 13:56:44 -04:00
Behdad Esfahbod
7d3a126334
Define HB_FUNC for portability to non-gcc
2010-04-29 13:54:01 -04:00
Behdad Esfahbod
fa030175ca
[sanitize] Make debug code always available to the compiler
...
Such that we don't break debug build all the time.
2010-04-29 13:48:26 -04:00
Behdad Esfahbod
fde6f5bd68
Convert to uppercase in hb_ot_tag_from_language()
2010-04-29 04:41:41 -04:00
Behdad Esfahbod
6f729b45b0
More contour point use
2010-04-29 03:59:06 -04:00
Behdad Esfahbod
3840b6b505
[gdef] Fix delta scale
2010-04-29 03:48:27 -04:00
Behdad Esfahbod
4ac6cc284b
[gdef] Fix rounding
2010-04-29 03:48:11 -04:00
Behdad Esfahbod
b52fbb1bab
[gdef] Implement getting contour point
2010-04-29 03:47:00 -04:00
Behdad Esfahbod
4c5fbae011
Make sure mirroring is done in original direction
...
Reported by Jonathan Kew.
2010-04-29 03:39:39 -04:00
Behdad Esfahbod
ce23c9234b
Use BCP47 private-use tags for OpenType tag language string mapping
2010-04-29 03:31:03 -04:00
Behdad Esfahbod
eaf1d9a46c
Minor
2010-04-29 03:11:32 -04:00
Behdad Esfahbod
3a4784fe88
Fix bug in hb_language_from_string()
...
Reported by Jonathan Kew.
2010-04-29 02:58:38 -04:00
Behdad Esfahbod
602e4f8d55
Use const_cast
2010-04-29 02:28:54 -04:00
Behdad Esfahbod
abff3580a5
Add const
2010-04-29 02:27:20 -04:00
Behdad Esfahbod
6617eada95
Rename apply_context -> context
2010-04-29 02:25:30 -04:00
Behdad Esfahbod
b4c7fab762
Rename
2010-04-29 02:24:25 -04:00
Behdad Esfahbod
1376fb7bf9
[apply] Use a context object to reduce number of parameters passed around
2010-04-29 02:19:21 -04:00
Behdad Esfahbod
173fde7087
Further simplify tracing
2010-04-29 01:47:30 -04:00
Behdad Esfahbod
bc20045743
Simplify trace code
2010-04-29 01:40:26 -04:00
Behdad Esfahbod
807c5b03a2
[sanitize] Make debug code always available to the compiler
...
Such that we don't break debug build all the time.
2010-04-28 23:28:07 -04:00
Behdad Esfahbod
74e313c016
[gsubgpos] Make debug code always available to the compiler
...
Such that we don't break debug build all the time.
2010-04-28 15:15:09 -04:00
Behdad Esfahbod
41011a6ed7
Fix compiler warning about value unused
2010-04-28 13:33:09 -04:00
Behdad Esfahbod
863df68e89
[object] Make debug code always available to the compiler
...
Such that we don't break debug build all the time.
2010-04-28 13:29:55 -04:00
Behdad Esfahbod
1d52151a19
Minor
2010-04-28 13:20:31 -04:00
Behdad Esfahbod
444fffb1ab
[blob] Make debug code always available to the compiler
...
Such that we don't break debug build all the time.
2010-04-28 13:16:38 -04:00
Behdad Esfahbod
ba51b25c7b
Fix build. Ouch!
2010-04-28 13:10:36 -04:00
Behdad Esfahbod
a92f0fda7f
Fix debug build
2010-04-28 13:09:40 -04:00
Behdad Esfahbod
c165f25410
[object] Actually handle malloc() failure
...
Caught by John Daggett.
2010-04-27 23:28:10 -04:00
Behdad Esfahbod
caff7db93d
Fix Device::get_size() calculation
2010-04-26 10:07:35 -04:00
Behdad Esfahbod
66d6eb30eb
Rename Var to Obj
2010-04-25 23:01:45 -04:00
Behdad Esfahbod
690b919461
Remove use of flexible arrays
...
Also remove wrong ASSERT_SIZE that would trigger only when not using
flexible arrays (which was the case on win32, but not with gcc).
2010-04-25 22:52:22 -04:00
Behdad Esfahbod
1cebfbb063
Cleanup hb_face_create_for_data()
2010-04-23 20:49:18 -04:00
Behdad Esfahbod
d6b3c83a90
Allow get_table() to return NULL
2010-04-23 19:59:53 -04:00
Behdad Esfahbod
ad3653751b
Typo
2010-04-23 19:43:40 -04:00
Behdad Esfahbod
990443e5f2
Remove lock_instance()
2010-04-23 17:53:32 -04:00
Behdad Esfahbod
187454c595
Add different casts from pointer and ref to avoid bugs
2010-04-23 17:44:28 -04:00
Behdad Esfahbod
efb324a46f
Remove GET_FOR_DATA macros
...
The major-version check is now handled by sanitize. If major
doesn't match, we reject and fall back to the Null object.
2010-04-23 16:28:27 -04:00
Behdad Esfahbod
f1aaa2a436
Add TODO
2010-04-23 15:19:50 -04:00
Behdad Esfahbod
33d4d4325e
Zero glyph metrics before calling user callback
2010-04-23 14:56:55 -04:00
Behdad Esfahbod
4206e9511a
More warning fixes
2010-04-23 14:54:01 -04:00
Behdad Esfahbod
ef66ebeabc
Remove unused parameter
2010-04-23 14:40:36 -04:00
Behdad Esfahbod
1d720192b1
Fix compile warnings (HB_GNUC_UNUSED)
2010-04-23 14:39:10 -04:00
Behdad Esfahbod
8dfdca599c
No need to keep blob in sanitize context
2010-04-23 14:07:34 -04:00
Behdad Esfahbod
254933c397
When sanitizing, delay making writable
...
Before, as soon as we needed to make an edit, we tried to make the blob
writable inplace. That grows code unnecessarily though. We can simply
fail, make writable, then start again. That's indeed what the fallback
was doing anyway.
2010-04-23 13:57:10 -04:00
Behdad Esfahbod
71e735e915
[blob] Fallback to copying if mprotect() fails
2010-04-23 13:48:06 -04:00
Behdad Esfahbod
1aa4666b91
Cleanup OpenTypeFontFile
2010-04-23 13:32:03 -04:00
Behdad Esfahbod
ae4190cafe
Properly define separate structs for TTCHeader and TTCHeaderVersion1
2010-04-23 12:33:02 -04:00
Behdad Esfahbod
a065f471b3
Cleanup Extension lookups
...
Two things:
1. Allow nested Extension lookups. The offset is always positive, so
it can't loop circularly.
2. Move the check for all Extension subtables having the same lookup
type to the correct place. Before it wasn't really working.
2010-04-22 20:15:11 -04:00
Behdad Esfahbod
a0bb49c583
Add comment re bsearch effect on sanitize
2010-04-22 18:47:03 -04:00
Behdad Esfahbod
d632ec4000
Cosmetic
2010-04-22 18:42:05 -04:00
Behdad Esfahbod
a3263aa773
Convert the last set of cast macros to templates
2010-04-22 18:42:01 -04:00
Behdad Esfahbod
c38188a191
Remove unused macro
2010-04-22 16:52:09 -04:00
Behdad Esfahbod
3b2c2df41b
Cleanup Extension sanitize()
2010-04-22 16:51:42 -04:00
Behdad Esfahbod
1856184b93
Fail sanitize on major version mismatch
...
We handle major-version differences via get_for_data(), so sanitize
should never see a major version mismatch.
2010-04-22 14:21:17 -04:00
Behdad Esfahbod
df3f505dcf
More sanitize cleanup
2010-04-22 14:11:33 -04:00
Behdad Esfahbod
278a91f0cd
Minor cleanup of sanitize
...
Done with an audit of all sanitize()
2010-04-22 13:59:39 -04:00
Behdad Esfahbod
9ac7dc73bc
Check for (impossible) overflow
2010-04-22 13:50:22 -04:00
Behdad Esfahbod
9fc8684fd8
Cleanup ContextFormat3 sanitize
2010-04-22 13:37:58 -04:00
Behdad Esfahbod
e77302c61f
Add comment
2010-04-22 13:34:00 -04:00
Behdad Esfahbod
7c469c3ca4
Minor
2010-04-22 13:26:21 -04:00
Behdad Esfahbod
dc228048a8
Remove integrity check in Tag sanitize
...
Serves no useful purpose.
2010-04-22 13:22:41 -04:00
Behdad Esfahbod
8015a8c762
Don't sanitize raw table data
...
That part is performed by individual table sanitize.
2010-04-22 13:21:12 -04:00
Behdad Esfahbod
c293581e96
Add coment
2010-04-22 11:20:28 -04:00
Behdad Esfahbod
1faa76c6e8
Remove unnecessary casts
2010-04-22 10:54:26 -04:00
Behdad Esfahbod
079dc40112
Avoid overflow in TableDirectory sanitize
2010-04-22 10:47:12 -04:00
Behdad Esfahbod
fb5904ec93
Make casts more explicit
2010-04-22 10:43:30 -04:00
Behdad Esfahbod
565c80bd29
Make sure semicolon is expected after DEFINE_NULL_DATA()
2010-04-22 10:26:35 -04:00
Behdad Esfahbod
bb1e16335e
Improve Subst/Pos SubTable access and sanitize
2010-04-22 01:01:35 -04:00
Behdad Esfahbod
81f2af40f9
Simplify Extension offset now that our int types have no alignment
2010-04-22 00:58:49 -04:00
Behdad Esfahbod
19828ad42d
Sanitize shallow in Lookup since the generic SubLookup has no methods
2010-04-22 00:50:19 -04:00
Behdad Esfahbod
e5546a4352
Watch for overflow in Array sanitize
2010-04-22 00:48:54 -04:00
Behdad Esfahbod
4f5f1c34dd
Rename const_sub_array to sub_array since all consts are implicit now
2010-04-22 00:27:39 -04:00
Behdad Esfahbod
0795b784dd
Cosmetic
2010-04-22 00:23:14 -04:00
Behdad Esfahbod
2d98d3bbaa
Simplify Lookup sanitize
2010-04-22 00:19:30 -04:00
Behdad Esfahbod
c755cb3e3a
Change header comment
2010-04-22 00:11:43 -04:00
Behdad Esfahbod
243d20e011
More cast simplification
2010-04-21 23:57:01 -04:00
Behdad Esfahbod
0dfcc13a46
Rename ConstCharP to CharP (overloaded now)
2010-04-21 23:41:26 -04:00
Behdad Esfahbod
62c0fd7573
Cleanup de-const-casting during sanitize
2010-04-21 23:30:48 -04:00
Behdad Esfahbod
dd15587056
Add more comments
2010-04-21 23:13:33 -04:00
Behdad Esfahbod
c85c362067
Add comment
2010-04-21 23:12:54 -04:00
Behdad Esfahbod
2467c669c2
Add comment
2010-04-21 23:11:45 -04:00
Behdad Esfahbod
29c3f5e1b6
Improve comment
2010-04-21 23:01:00 -04:00
Behdad Esfahbod
01c01618e9
Further simplify IntType struct defs
2010-04-21 22:49:56 -04:00
Behdad Esfahbod
2cb08458f6
Rename const_array() to array() (overloaded)
2010-04-21 22:37:31 -04:00
Behdad Esfahbod
2e2f43edf2
Remove ArrayAfter, use StructAfter in place
2010-04-21 22:30:36 -04:00
Behdad Esfahbod
e961c86c57
Convert NEXT() and ARRAY_AFTER() macros to templates
2010-04-21 15:56:11 -04:00
Behdad Esfahbod
198facdc55
Use templates for const char * casts
2010-04-21 13:35:36 -04:00
Behdad Esfahbod
1922ffe701
Const correctness
2010-04-21 04:52:11 -04:00
Behdad Esfahbod
e032ed9f75
Use templates for defining int typess
2010-04-21 04:51:55 -04:00
Behdad Esfahbod
2c9fd2adce
Remove unused macro
2010-04-21 02:15:39 -04:00
Behdad Esfahbod
7a52f28117
Rename macros
2010-04-21 02:14:44 -04:00
Behdad Esfahbod
ffff7dc44c
Minor
2010-04-21 02:13:55 -04:00
Behdad Esfahbod
f60f2166c4
Move macros around
2010-04-21 02:12:45 -04:00
Behdad Esfahbod
649a4344ca
Remove unused macros
2010-04-21 02:11:59 -04:00
Behdad Esfahbod
eba8b4f644
GNOME Bug 613015 - [HB] Does not sanitize Device tables referenced from ValueRecords
2010-04-21 02:04:02 -04:00
Behdad Esfahbod
673a4efcbc
WIP
2010-04-21 02:02:57 -04:00
Behdad Esfahbod
40d73bc68d
Improve comments
2010-04-21 01:55:20 -04:00
Behdad Esfahbod
394bad41a7
Remove stale TODO item
2010-04-21 01:55:17 -04:00
Behdad Esfahbod
9d3677899f
Use a function template instead of struct template for Null
2010-04-21 01:55:12 -04:00
Behdad Esfahbod
ffd321afd9
Simplify Tag struct
2010-04-21 01:55:09 -04:00
Behdad Esfahbod
00e23fcc6f
Cosmetic
2010-04-21 01:55:03 -04:00
Behdad Esfahbod
a87072db5d
Fix Class operator return type
2010-04-21 01:54:57 -04:00
Behdad Esfahbod
f9b3772798
Add couple consts to operators
2010-04-21 01:54:53 -04:00
Behdad Esfahbod
53d237ec63
Remove ASSERT_SIZE_DATA
2010-04-21 01:54:49 -04:00
Behdad Esfahbod
06558d2a74
Round instead of trunc
2010-04-21 01:50:15 -04:00
Behdad Esfahbod
0e206de986
Fix warnings
2010-04-21 01:48:41 -04:00
Behdad Esfahbod
d5943407a4
Fix debug build
2010-04-21 01:42:11 -04:00
Behdad Esfahbod
12b27ed91d
Fix leak when duplicating blob
2010-04-21 01:41:53 -04:00
Behdad Esfahbod
4b8487d83e
Fix the mystery bug!
...
A couple bugs joined forces to exhibit the mystery behavior of
crashes / infinite loops on OS X / wrong kerning / invalid memory
access. Pooh!
The bugs were involved:
- Wrong pointer math with ValueRecord in PairPosFormat1
- Fallout from avoiding flex arrays, code not correctly updated
to remove sizeof() usage.
We strictly never use sizeof() directly now. And the PairPos code
is cleaned up. Should fix them all. Bugs are:
Bug 605655 - Pango 1.26.2 introduces kerning bug
Bug 611229 - Pango reads from uninitialized memory
Bug 593240 - (pangoosx) Crash / infinite loop with Mac OS X
We were also doing wrong math converting Device adjustments to
hb_position_t. Fallout from FreeType days. Should shift 16, not
6. Fixed that too.
There's still another bug: we don't sanitize Device records
referenced from value records. Fixing that also.
2010-04-21 01:41:29 -04:00
Behdad Esfahbod
9b39755d10
Typo
2010-04-15 14:00:25 -04:00
Behdad Esfahbod
f85ec1c7da
Cosmetic
2010-03-10 04:14:40 -05:00
Behdad Esfahbod
e48ed72230
[ft] Check stream->read instead of stream->base
...
The former is more robust. See discussion on freetype-devel.
2010-03-01 22:33:45 -05:00
Behdad Esfahbod
917c227500
Make blob unlocking 64bit-safe
...
GNOME Bug 604128 - Applications crash when displaying Hebrew characters
2010-02-23 16:47:51 -05:00
Behdad Esfahbod
ecd2e996d2
Improve the alignment for NullPool
2010-02-23 02:42:00 -05:00
Behdad Esfahbod
bc7830e425
Use __attribute__((unused)) only with gcc 4 and later
...
See discussion at:
https://bugzilla.gnome.org/show_bug.cgi?id=610183
2010-02-17 15:14:57 -05:00
Behdad Esfahbod
555d11273e
[GDEF] Fix bug in building synthetic GDEF
2010-01-26 12:58:59 -05:00
Behdad Esfahbod
cd11a98fa1
Fix compile with older FreeType
2009-12-20 23:05:02 +01:00
Behdad Esfahbod
7f7448a354
Indent
2009-12-20 21:42:14 +01:00
Behdad Esfahbod
e70f45eb52
Revert "Fallback to 'kern' if no GPOS applied"
...
This reverts commit d740c8f78b
.
The change is wrong. If there is a GPOS table, we should not use 'kern'.
2009-12-20 21:26:24 +01:00
Behdad Esfahbod
d740c8f78b
Fallback to 'kern' if no GPOS applied
2009-12-20 21:23:56 +01:00
Behdad Esfahbod
2f78c17197
Remove glibism!
2009-12-20 21:03:11 +01:00
Behdad Esfahbod
907e67da13
Oops, add file.
2009-12-20 20:59:51 +01:00
Behdad Esfahbod
2014b8d110
Hook OpenType shaping up
...
Default features only for now.
2009-12-20 20:58:26 +01:00
Behdad Esfahbod
196610ba4c
Pass features down
2009-12-20 19:02:23 +01:00
Behdad Esfahbod
51f141a7f3
Avoid overflow
2009-12-20 18:22:52 +01:00
Behdad Esfahbod
26d7a75752
Refactor hb_shape a bit
2009-12-20 17:58:25 +01:00
Behdad Esfahbod
001fc2d2aa
Add TrueType kern support
2009-12-20 17:24:05 +01:00
Behdad Esfahbod
2c1b85cf66
Direct unicode->get_mirroring directly
2009-12-20 16:29:17 +01:00
Behdad Esfahbod
6a2ef5aa54
Do mirroring
2009-12-20 16:28:01 +01:00
Behdad Esfahbod
0465e69832
Protect against NULL funcs
2009-12-20 16:25:18 +01:00
Behdad Esfahbod
5ceefa1d8d
Add hb_unicode_get_*() functions
2009-12-20 15:29:16 +01:00
Behdad Esfahbod
b8a53e44ce
We'll have to link to libstdc++ if linking to ICU, so disable test for now
...
We have to get rid of the ICU in main lib. Still thinking about best way
to do it.
2009-12-20 14:56:25 +01:00
Behdad Esfahbod
314905d754
Explicitly track whether the buffer has positions
2009-12-20 14:50:42 +01:00
Behdad Esfahbod
314b460d8a
Add HB_DIRECTION_IS_FORWARD/BACKWARD
2009-12-20 13:58:50 +01:00
Behdad Esfahbod
bdd0ff5290
Make main.cc compile without glib
2009-12-15 04:07:40 -05:00
Behdad Esfahbod
807b8aa486
Another C++ strictness fix
...
Pango Bug 602408 - Invalid C++ code breaks compile with Sun C++ Compiler
(Error: A union member cannot have a user-defined assignment operator)
According to the bug:
C++ Programming Language by Bjarne Stroustrup: Chapter 10.4.12 forbids
explicitly using of union members with constructors, destructors or assignment
operations.
So we use a set() method instead of the assignment operator. Ugly, but hey,
that's life.
2009-11-19 20:35:01 -05:00
Behdad Esfahbod
8b9b866d3e
Fix warning
2009-11-19 20:27:57 -05:00
Behdad Esfahbod
c65b26acf2
Use autoconf FLEXIBLE_ARRAY_MEMBER when available
2009-11-18 11:27:33 -05:00
Behdad Esfahbod
d33f674cb7
Add Mongolian variation selectors
2009-11-18 09:47:44 -05:00
Behdad Esfahbod
d6387757de
Fix sanitize
2009-11-11 17:15:03 -05:00
Behdad Esfahbod
636f017e38
Remove obsolete TODO item
2009-11-10 12:56:35 -05:00
Behdad Esfahbod
bf2b25dd85
Remove done item
2009-11-06 19:52:47 -05:00
Behdad Esfahbod
4a86053159
Reverse buffer at the end if RTL
2009-11-06 19:52:01 -05:00
Behdad Esfahbod
ff44f88df2
Handle shaping in non-native direction
2009-11-06 19:48:16 -05:00
Behdad Esfahbod
b4b4272c8d
Oops, wrong change
2009-11-06 17:46:33 -05:00
Behdad Esfahbod
52ea47767c
Change order of font and face for API consistency
2009-11-06 17:45:38 -05:00
Behdad Esfahbod
f4f1fc970b
Remove debug info that crept in
2009-11-06 17:42:38 -05:00
Behdad Esfahbod
aa196d6026
[GSUB] More ligature/component fixing
...
We can only reuse the ligid if it belongs to a previous ligature, not a
component!
2009-11-06 17:23:31 -05:00
Behdad Esfahbod
25e7ef7046
Add _hb_buffer_add_output_glyphs() that takes codepoint_t*
2009-11-06 17:21:01 -05:00
Behdad Esfahbod
9db8ad7531
Add hb_ot_layout_position_finish()
...
We expect buffer to be setup with default positions before GPOS.
2009-11-06 16:47:31 -05:00
Behdad Esfahbod
edb54e9aec
Fix FT_Face finalizer call
2009-11-06 15:19:22 -05:00
Behdad Esfahbod
3d14528b8b
Rename hb_buffer_get_len() to hb_buffer_get_length()
2009-11-06 15:13:17 -05:00
Behdad Esfahbod
1ff7775051
Minor.
2009-11-06 13:52:57 -05:00
Behdad Esfahbod
3648bdf5b2
Fix FT_Face generic finalizer
2009-11-05 20:17:53 -05:00
Behdad Esfahbod
5a11c875d8
Cosmetic
2009-11-05 20:08:17 -05:00
Behdad Esfahbod
44533e773f
Fix warning
2009-11-05 19:58:02 -05:00
Behdad Esfahbod
bcc0406a52
include errno.h
2009-11-05 19:54:23 -05:00
Behdad Esfahbod
799b3c375a
Add debugging to object lifecycle
2009-11-05 19:37:58 -05:00
Behdad Esfahbod
25edb940ab
Cosmetic
2009-11-05 19:20:06 -05:00
Behdad Esfahbod
850dc5bb55
Return 0 from get_glyph_nil
2009-11-05 18:26:52 -05:00
Behdad Esfahbod
85555a9533
Initialize font->klass
2009-11-05 18:25:56 -05:00
Behdad Esfahbod
bcd26bd7b1
Add TODO item
2009-11-05 18:03:26 -05:00
Behdad Esfahbod
f4281e0a92
Fix ref counting
2009-11-05 17:58:41 -05:00
Behdad Esfahbod
6358ff45ae
Add hb_ft_face_create_cached
2009-11-05 17:39:16 -05:00
Behdad Esfahbod
2027f74b28
Add default positioning to hb-shape
2009-11-05 16:34:47 -05:00
Behdad Esfahbod
c3f9f7e59d
Fix MarkMark issue with ligid and components
2009-11-05 16:16:14 -05:00
Behdad Esfahbod
d0351314cd
Include stdio.h if debugging
2009-11-05 16:16:06 -05:00
Behdad Esfahbod
2e33669291
Add hb_font_get_*
2009-11-05 13:55:41 -05:00
Behdad Esfahbod
9bef3611f0
Rename [xy]_pos to [xy]_offset since we don't accumulate positions
2009-11-05 12:20:11 -05:00
Behdad Esfahbod
2daa47e9cd
Cosmetic
2009-11-05 12:08:34 -05:00
Behdad Esfahbod
2f50d87368
Start filling hb_shape() in
2009-11-04 21:07:03 -05:00
Behdad Esfahbod
ae070b7d39
Add script and language to buffer
2009-11-04 20:29:54 -05:00
Behdad Esfahbod
8a3511ac6c
Add hb_language_t as well as language/script conversion to OT tags
2009-11-04 19:45:39 -05:00
Behdad Esfahbod
4591753ad4
Define ARRAY_LENGTH
2009-11-04 18:15:59 -05:00
Behdad Esfahbod
214ac7c1ff
Another one
2009-11-04 18:12:32 -05:00
Behdad Esfahbod
1e91434569
Minor
2009-11-04 18:12:09 -05:00
Behdad Esfahbod
48de3730cd
Fix previous commit, ouch!
2009-11-04 16:59:50 -05:00
Behdad Esfahbod
e21899bc35
Fix array query API
...
The array query APIs now all do:
- Return the total number of items
- Take a start_offset, such that individual items can be fetched
- The _count IN/OUT variable always has number of items written
into the array upon return of the function
2009-11-04 16:36:14 -05:00
Behdad Esfahbod
3b59306b85
Finish FT glue. Rough and untested
2009-11-04 15:48:32 -05:00
Behdad Esfahbod
7951279b4a
Implement nil font functions
2009-11-03 20:27:05 -05:00
Behdad Esfahbod
8fb3d1aa4e
Start ft glue
2009-11-03 18:34:20 -05:00
Behdad Esfahbod
d94647e2cd
Add ICU glue
2009-11-03 16:35:10 -05:00
Behdad Esfahbod
b7dd4b945b
Fix hb_be_uint16()
2009-11-03 15:21:15 -05:00
Behdad Esfahbod
cd7555eef2
Namespace MSVC defines in public header
2009-11-03 15:16:10 -05:00
Behdad Esfahbod
5ebabecef3
Move unicode_funcs to buffer
2009-11-03 15:15:07 -05:00
Behdad Esfahbod
d5a8e46099
[Makefile] Install hb-unicode.h
...
Separate OT headers also.
2009-11-03 15:14:40 -05:00
Behdad Esfahbod
21d0fce3d5
Add check for not linking to libstdc++
2009-11-03 14:28:32 -05:00
Behdad Esfahbod
ca95ce460a
Use the C linker, not C++ linker
...
Such that we don't link to libstdc++.
2009-11-03 14:18:33 -05:00
Behdad Esfahbod
ffbe0a853d
More MSVC fixes from Jonathan Kew
2009-11-03 10:52:45 -05:00
Behdad Esfahbod
d3480ba37f
Don't use zero-sized arrays
...
It's not part of the standard and MSVC doesn't like it. It makes the code
a lot less elegant than it used to be, but I think it should work now.
2009-11-03 10:47:29 -05:00
Behdad Esfahbod
6bec81aa3a
Cosmetic
2009-11-02 19:17:36 -05:00
Behdad Esfahbod
2f3e69f3cb
Fix build without glib, again
2009-11-02 18:53:15 -05:00
Behdad Esfahbod
63a792a811
Update Makefile to build without glib
2009-11-02 18:34:26 -05:00
Behdad Esfahbod
68a2c771e2
Build without glib
...
Thready-safety disabled in that case, until we add support for pthread, etc.
Fun...
2009-11-02 18:31:53 -05:00
Behdad Esfahbod
cc4c096a7e
MSVC has no stdint.h
2009-11-02 18:14:48 -05:00
Behdad Esfahbod
9a204c7ab5
Remove use of GINT16_FROM_BE
2009-11-02 18:11:55 -05:00
Behdad Esfahbod
1f0ceeb8cf
Install library
2009-11-02 16:51:24 -05:00
Behdad Esfahbod
29aa400183
Add build system
2009-11-02 16:34:59 -05:00
Behdad Esfahbod
c09ed9801e
[HB] Add glyph_metrics typedef
2009-11-02 14:40:48 -05:00
Behdad Esfahbod
91b1e03e03
[HB] Add point_index to get_contour_point()
...
Pointed out by Keith Stribley on HarfBuzz list.
2009-11-02 14:40:48 -05:00
Behdad Esfahbod
aa87d95173
[HB] Fix lookup_flag ignoring
...
Reported by Keith Stribley on HarfBuzz list.
2009-11-02 14:40:48 -05:00
Behdad Esfahbod
52e9a71d57
[HB] Add comment
2009-11-02 14:40:48 -05:00
Behdad Esfahbod
f9c0a2dad0
[HB] Fix apply_lookup() loop
...
Part of Bug 595539 - Regressions in rendering certain Thai sequences with
OpenType font
2009-11-02 14:40:48 -05:00
Behdad Esfahbod
c0ab43c058
[HB] Fix bug in chain_context_lookup() invocations
...
Part of Bug 595539 - Regressions in rendering certain Thai sequences with
OpenType font
2009-11-02 14:40:48 -05:00
Behdad Esfahbod
e6bd4e93bd
[HB] Add TODO item
2009-11-02 14:40:48 -05:00
Behdad Esfahbod
3e2401f6c5
[HB] Rename DEBUG to TRACE where appropriate
2009-11-02 14:40:48 -05:00
Behdad Esfahbod
0535b50f43
[HB] Add GSUB/GPOS tracing
2009-11-02 14:40:48 -05:00
Behdad Esfahbod
95e202403f
[HB] Allow enabling different debug facilities individually
2009-11-02 14:40:48 -05:00
Behdad Esfahbod
37006bd1bd
Fix stupid array growing bug
2009-11-02 14:40:47 -05:00
Behdad Esfahbod
9897749113
[HB] Simplify counting
2009-11-02 14:40:47 -05:00
Behdad Esfahbod
81a5c4df94
[HB] Indent
2009-11-02 14:40:47 -05:00
Behdad Esfahbod
c91facd83b
[HB] Bug 593231 - < c99 compiler dislikes ValueRecord
2009-11-02 14:40:47 -05:00
Behdad Esfahbod
f0c7540c4e
Bug 592484 - invalid write in HB
...
Fix off-by-one.
2009-11-02 14:40:47 -05:00
Behdad Esfahbod
b614b00472
[HB][glib] Make glib unicode funcs static
2009-11-02 14:40:47 -05:00
Behdad Esfahbod
8b53461304
[HB] Fix more casts
2009-11-02 14:40:47 -05:00
Behdad Esfahbod
9d2e02db74
[HB] Rename CAIRO_ in macro prefix to HB_
...
Hiss!
2009-11-02 14:40:46 -05:00
Behdad Esfahbod
388ad037ff
[HB] Remove HB_MEMORY_MODE_READONLY_NEVER_DUPLICATE
...
Unlike the rest of the memory-mode enum, this one didn't only
describe the access mode of the input memory region. Remove it.
If someone wants to inhibit duplicating, they can lock the blob
and throw away the key.
Based on mailing list discussion with Carl Worth.
2009-11-02 14:40:46 -05:00
Behdad Esfahbod
977eeb7144
[HB] s/writeable/writable/g
2009-11-02 14:40:46 -05:00
Behdad Esfahbod
2f5931e404
[HB] Hide lig_id and component members of hb_glyph_info_t
2009-11-02 14:40:46 -05:00
Behdad Esfahbod
6b600dd619
[HB] Fix typo
2009-11-02 14:40:45 -05:00
Behdad Esfahbod
32c65a5ca3
[HB] Add font funcs prototypes
2009-11-02 14:40:45 -05:00
Behdad Esfahbod
8f034d5849
Fix a few other pedantic warnings
2009-11-02 14:40:45 -05:00
Behdad Esfahbod
864e2560b6
[HB] Fix pedantic warnings
2009-11-02 14:40:45 -05:00
Behdad Esfahbod
3e09722214
[HB] Fix more wrong method signatures
2009-11-02 14:40:44 -05:00
Behdad Esfahbod
822e99fe9a
[HB] Fix wrong method signature
2009-11-02 14:40:44 -05:00
Behdad Esfahbod
4ff2a58952
Bug 592194 - Fix missing _SC_PAGE_SIZE macro
...
Autoconfiscate a simple call to mprotect() even more.
2009-11-02 14:40:44 -05:00
Behdad Esfahbod
3c69bd46e2
[HB] Avoid int overflow in GPOS
...
Bug 592036 - integer overflow bug causes misrendering of Nepali characters
2009-11-02 14:40:44 -05:00
Behdad Esfahbod
b2b18ef43c
[HB] Simplify loop
2009-11-02 14:40:44 -05:00
Behdad Esfahbod
b41f210d12
[HB] Merge mark positionin code between three types of lookups
2009-11-02 14:40:44 -05:00
Behdad Esfahbod
cd33cb9ed8
[HB] More minor shuffling
2009-11-02 14:40:43 -05:00
Behdad Esfahbod
80e2aa2e1b
[HB] Move code around
2009-11-02 14:40:43 -05:00
Behdad Esfahbod
3564ee5216
[HB] Correctly sanitize LigatureAttach
2009-11-02 14:40:43 -05:00
Behdad Esfahbod
cb71a2fb76
[HB] Simplify MarkBase and MarkLig too
2009-11-02 14:40:43 -05:00
Behdad Esfahbod
dfa54f4440
[HB] Simplify MarkMark
2009-11-02 14:40:43 -05:00
Behdad Esfahbod
815a73e420
[HB] Fix possible int overflows during sanitize
2009-11-02 14:40:43 -05:00
Behdad Esfahbod
ae728e51e9
[HB] Debug output for SANITIZE_MEM()
2009-11-02 14:40:43 -05:00
Behdad Esfahbod
41895506cb
[HB] Use inline function for SANITIZE_MEM()
2009-11-02 14:40:43 -05:00
Behdad Esfahbod
95528131b5
[HB] Use SANITIZE_THIS() when applicable
2009-11-02 14:40:43 -05:00
Behdad Esfahbod
5769538abf
[HB] Add note about auditing sanitize code for overflows
2009-11-02 14:40:43 -05:00
Behdad Esfahbod
15232e26f4
[HB] Add empty hb_shape() API
2009-11-02 14:40:42 -05:00
Behdad Esfahbod
2866d2974b
[HB] Bitfield packing *is* very delicate
...
Fix the second instance.
2009-11-02 14:40:42 -05:00
Behdad Esfahbod
ec90ee23b2
Bug 591511 – hh-blob.c does not compile using mingw on windows
...
Check for sys/mman.h, not mprotect().
2009-11-02 14:40:42 -05:00
Behdad Esfahbod
12eae6d55d
[HB] Fix buffer sizing issue with mingw gcc
...
Bit field packing is a delicate field. Issue reported in comment 3 here:
http://bugzilla.gnome.org/show_bug.cgi?id=591511
2009-11-02 14:40:42 -05:00
Behdad Esfahbod
6936706cd7
Bug 591413 – needs to link with libstdc++
...
Enforce -fno-exceptions better.
2009-11-02 14:40:42 -05:00
Behdad Esfahbod
c486ea9c35
Bug 591511 – hb-blob.c does not compile using mingw on windows
...
Only call mprotect() when available. For optimal performance, a win32
way to make memory writeable needs to be added.
2009-11-02 14:40:42 -05:00
Behdad Esfahbod
a579584594
[HB] Add comment
2009-11-02 14:40:42 -05:00
Behdad Esfahbod
b6e66ee102
[HB] Always clear positions if dirty, before returning to user
2009-11-02 14:40:41 -05:00
Behdad Esfahbod
e4679d9fae
[HB] Fix _hb_buffer_next() when positioning
...
We were copying glyphs to output. This should not happen when in
GPOS. Back then it was fine, then some optimizations broke then
assumption.
2009-11-02 14:40:41 -05:00
Behdad Esfahbod
5ccf1ba339
[HB] Fixed signedness warnings
2009-11-02 14:40:41 -05:00
Behdad Esfahbod
f71329147b
[HB] Ouch. Fix compilation.
2009-11-02 14:40:40 -05:00
Behdad Esfahbod
0532ed160c
[HB] Fix invalid access / overflow on x86-64
...
Bug 591557 – [HB] crash scrolling the evolution message list
Bug 591576 – crashed with SIGSEGV at pango
2009-11-02 14:40:40 -05:00
Behdad Esfahbod
8d70312c7b
[HB] Add hb_font_funcs_make_immutable()
2009-11-02 14:40:40 -05:00
Behdad Esfahbod
3284d05da2
[HB] Add missing initializer
2009-11-02 14:40:40 -05:00
Behdad Esfahbod
081819ea8b
[OT] Hookup glib unicode funcs
2009-11-02 14:40:39 -05:00
Behdad Esfahbod
49f261df2a
[HB] Add hb-glib
2009-11-02 14:40:39 -05:00
Behdad Esfahbod
eb27ec0cef
[HB] Add hb_unicode_funcs_make_immutable()
2009-11-02 14:40:39 -05:00
Behdad Esfahbod
af9e104028
[HB] Use nil unicode funcs in nil face
2009-11-02 14:40:38 -05:00
Behdad Esfahbod
48910f8f00
[HB] Initialize unicode funcs to nil getters
2009-11-02 14:40:38 -05:00
Behdad Esfahbod
04cc0a29ee
[HB] Flesh out Unicode funcs
2009-11-02 14:40:38 -05:00
Behdad Esfahbod
299f08961f
[HB] Implement buffer UTF-X input
2009-11-02 14:40:37 -05:00
Behdad Esfahbod
1b7b97f28a
[HB] Add buffer UTF-X API
2009-11-02 14:40:37 -05:00
Behdad Esfahbod
fbaf8ffa09
[HB] Add hb_buffer_reverse()
2009-11-02 14:40:37 -05:00
Behdad Esfahbod
cbe5a4e08e
[HB] Reuse the positions array as alt string array
2009-11-02 14:40:37 -05:00
Behdad Esfahbod
5c44188455
[HB] Start adding Unicode funcs
2009-11-02 14:40:36 -05:00
Behdad Esfahbod
20b035dad4
[HB] Put C++ inline's back
...
Apparetly in C++, inline means a totally different thing.
2009-11-02 14:40:36 -05:00
Behdad Esfahbod
a62f776d8e
[HB] Don't override CXX compiler
...
Just add couple of options to it (still assuming gcc)
2009-11-02 14:40:36 -05:00
Behdad Esfahbod
6bdab706ec
[HB] Indent
2009-11-02 14:40:36 -05:00
Behdad Esfahbod
797724904a
[HB] Remove unused code
2009-11-02 14:40:36 -05:00
Behdad Esfahbod
284899ccbe
[HB] Add a NEXT() macro
2009-11-02 14:40:35 -05:00
Behdad Esfahbod
918572fc87
[HB] Remove done TODO item
2009-11-02 14:40:35 -05:00
Behdad Esfahbod
67cb8111f2
[HB] Print mark sets in main.cc
2009-11-02 14:40:35 -05:00
Behdad Esfahbod
17878255fa
[HB] Remove hb_ot_layout_table_find_feature()
...
That function doesn't make much sense as multiple features in the table may
have the same tag.
2009-11-02 14:40:35 -05:00
Behdad Esfahbod
468769b8f5
[HB] Rename hb_ot_layout_feature_mask_t to hb_mask_t
2009-11-02 14:40:34 -05:00
Behdad Esfahbod
7f96b39a9d
[HB] Fix bug introduced recently
2009-11-02 14:40:34 -05:00
Behdad Esfahbod
bff3c0fde5
[HB] Remove clumsy macros and improve API
2009-11-02 14:40:34 -05:00
Behdad Esfahbod
d0b657379b
[HB] Fix various XXX issues
2009-11-02 14:40:34 -05:00
Behdad Esfahbod
82199868fb
[HB] Remove unused var
2009-11-02 14:40:34 -05:00
Behdad Esfahbod
07e69226cb
[HB] Remove another stale XXX
2009-11-02 14:40:33 -05:00
Behdad Esfahbod
e605c367c5
[HB] Rebrand XXX as TODO
2009-11-02 14:40:33 -05:00
Behdad Esfahbod
c5a13048e2
[HB] Remove stale XXX
2009-11-02 14:40:33 -05:00
Behdad Esfahbod
9e826ea283
[HB] Fix unaligned access
2009-11-02 14:40:33 -05:00
Behdad Esfahbod
71a8344a5e
[HB] Remove a few 'inline's, though the compiler mostly ignores them
2009-11-02 14:40:32 -05:00
Behdad Esfahbod
7f3d5c8166
[HB] Fix blob to use a actual mutex
2009-11-02 14:40:32 -05:00
Behdad Esfahbod
a794ebf4be
[HB] Use glib again
2009-11-02 14:40:32 -05:00
Behdad Esfahbod
9b76a290a9
[HB] Improve debug output
2009-11-02 14:40:32 -05:00
Behdad Esfahbod
9faee63034
[HB] Minor
2009-11-02 14:40:32 -05:00
Behdad Esfahbod
f72059ee69
[HB] Add a few TODO items
2009-11-02 14:40:32 -05:00
Behdad Esfahbod
0d77ab8a73
[HB] Improve debug output
2009-11-02 14:40:32 -05:00
Behdad Esfahbod
268cac4c9e
[HB] Fix blob unlock
2009-11-02 14:40:32 -05:00
Behdad Esfahbod
7acb389569
[HB] Improve debug output and fix mprotect bug
2009-11-02 14:40:31 -05:00
Behdad Esfahbod
ec9f8db0d3
[HB] Minor
2009-11-02 14:40:31 -05:00
Behdad Esfahbod
d341881d9a
[HB] Fix build of main.cc
2009-11-02 14:40:31 -05:00
Behdad Esfahbod
8f3be25e7e
[HB] turn debugging off
2009-11-02 14:40:31 -05:00
Behdad Esfahbod
62ed5850d9
[HB] Fix another sanitize() bug; hopefully it's the last one
2009-11-02 14:40:31 -05:00
Behdad Esfahbod
90482b6817
[HB] Fix a couple other sanitize() bugs
2009-11-02 14:40:31 -05:00
Behdad Esfahbod
4f3ad9115a
[HB] More debugging output
2009-11-02 14:40:30 -05:00
Behdad Esfahbod
8cd6fa28d1
[HB] Fix fatal Sanitizer bug
2009-11-02 14:40:30 -05:00
Behdad Esfahbod
2870ac5e5d
[HB] Add missing sanitize
2009-11-02 14:40:30 -05:00
Behdad Esfahbod
b28815c1f6
[HB] Add sanitize debugging facilities
2009-11-02 14:40:30 -05:00
Behdad Esfahbod
7edb430f91
[HB] Rename open-types to open-type; beauty
2009-11-02 14:40:30 -05:00
Behdad Esfahbod
f4b58d3fc2
[HB] Save edit even if not writeable
2009-11-02 14:40:30 -05:00
Behdad Esfahbod
9bd629ccd0
[HB] Fix warnings
2009-11-02 14:40:30 -05:00
Behdad Esfahbod
5ff4e13143
[HB] Avoid infinite recusion in Extension sanitize()
2009-11-02 14:40:30 -05:00
Behdad Esfahbod
d60bb8ca2a
[HB] Hook Sanitizer up. Hell's breaking loose right now
2009-11-02 14:40:30 -05:00
Behdad Esfahbod
679f41fe61
[HB] Fix leak
2009-11-02 14:40:30 -05:00
Behdad Esfahbod
4e8a0602bb
[HB] Add Sanitizer
2009-11-02 14:40:30 -05:00
Behdad Esfahbod
2765d333e5
[HB] Add XXX
2009-11-02 14:40:30 -05:00
Behdad Esfahbod
a328d66e6a
[HB] Minor cleanup
2009-11-02 14:40:29 -05:00
Behdad Esfahbod
577c111649
[HB] Shuffle code around
2009-11-02 14:40:29 -05:00
Behdad Esfahbod
b1e187fc63
[HB] More sanitize infrastructure
2009-11-02 14:40:29 -05:00
Behdad Esfahbod
b508e5ccd5
[HB] open-file sanitize()
2009-11-02 14:40:29 -05:00
Behdad Esfahbod
738c54d9ca
[HB] Tag sanitize()
2009-11-02 14:40:29 -05:00
Behdad Esfahbod
e49a84c9e3
[HB] GDEF sanitize()
2009-11-02 14:40:29 -05:00
Behdad Esfahbod
18939487d0
[HB] Fix Extension sanitize()
2009-11-02 14:40:29 -05:00
Behdad Esfahbod
f2be750981
[HB] Remove stale TODO
2009-11-02 14:40:29 -05:00
Behdad Esfahbod
ac26e2a838
[HB] Hookup NEUTER()
2009-11-02 14:40:29 -05:00
Behdad Esfahbod
15164d9258
[HB] Fix mix warnings
2009-11-02 14:40:29 -05:00
Behdad Esfahbod
42b778f89e
[HB] GPOS sanitize()
2009-11-02 14:40:29 -05:00
Behdad Esfahbod
dc9c4d93cd
[HB] Sanitize DeviceTable
2009-11-02 14:40:28 -05:00
Behdad Esfahbod
ad3a3cd495
[HB] More casts
2009-11-02 14:40:28 -05:00
Behdad Esfahbod
95639fccc1
[HB] Fix couple of bugs
2009-11-02 14:40:28 -05:00
Behdad Esfahbod
2b5a59c277
[HB] More cast cleanup
2009-11-02 14:40:28 -05:00
Behdad Esfahbod
196598bbcc
[Hb] Use reinterpret casts instead of direct casts to char *
2009-11-02 14:40:28 -05:00
Behdad Esfahbod
92b5dd8e71
[HB] Merge more templates
2009-11-02 14:40:28 -05:00
Behdad Esfahbod
e6ab2c59ba
[HB] Simplify indirect sanitize()
2009-11-02 14:40:28 -05:00
Behdad Esfahbod
29d8644a31
[HB] Finish GSUB sanitize()
2009-11-02 14:40:28 -05:00
Behdad Esfahbod
cf086adca1
[HB] Add comment
2009-11-02 14:40:28 -05:00
Behdad Esfahbod
a97ce570ab
[HB] Optimize sanitize()
2009-11-02 14:40:28 -05:00
Behdad Esfahbod
cd3827ee56
[HB] More sanitize()
2009-11-02 14:40:28 -05:00
Behdad Esfahbod
70de50c11e
[HB] Start sanitize()
2009-11-02 14:40:27 -05:00
Behdad Esfahbod
5fc22e647c
[HB] Remove use of typeof()
2009-11-02 14:40:27 -05:00
Behdad Esfahbod
70e0f2a75e
[HB] Make it all work again
2009-11-02 14:40:27 -05:00
Behdad Esfahbod
23c86aa000
[HB] Use face_t directly instead of ot_layout_t
2009-11-02 14:40:27 -05:00
Behdad Esfahbod
fc6c94002d
[HB] Simplify sub-blob support
2009-11-02 14:40:27 -05:00
Behdad Esfahbod
a26442437a
[HB] Add sub-blobs
2009-11-02 14:40:27 -05:00
Behdad Esfahbod
b28e21b90c
[HB] Rename hb-font.c to hb-font.cc
2009-11-02 14:40:27 -05:00
Behdad Esfahbod
5f5b24f99f
[OT] Rename C++ header files from *.h to *.hh
2009-11-02 14:40:27 -05:00
Behdad Esfahbod
2098a021a8
[HB] Move OT file handling out of ot-layout
2009-11-02 14:40:26 -05:00
Behdad Esfahbod
0ead481a5a
[HB] Port ot-layout to new public API
2009-11-02 14:40:26 -05:00
Behdad Esfahbod
678bed4333
[HB] Add top-level header files
2009-11-02 14:40:26 -05:00
Behdad Esfahbod
2c80296aa5
[HB] Add XXX marks
2009-11-02 14:40:26 -05:00
Behdad Esfahbod
c46f8efd6d
[HB] Rename _duplicate to _copy
...
To be in line with cairo
2009-11-02 14:40:26 -05:00
Behdad Esfahbod
f1ebe44985
[HB] Cleanup TODO
2009-11-02 14:40:26 -05:00
Behdad Esfahbod
f1322e52d5
[HB] Cleanup public buffer structs
2009-11-02 14:40:26 -05:00
Behdad Esfahbod
6d5bb18e93
[OT] Match struct with HB's
2009-11-02 14:40:25 -05:00
Behdad Esfahbod
11fbb5487d
[HB] Port buffert to new object API
2009-11-02 14:40:25 -05:00
Behdad Esfahbod
0cc7bc59ea
[HB] Move typedef's around
2009-11-02 14:40:25 -05:00
Behdad Esfahbod
a12dd324a3
[HB] Add get_reference_count()
2009-11-02 14:40:25 -05:00
Behdad Esfahbod
baec684fde
[HB] Remove glib dependency
2009-11-02 14:40:25 -05:00
Behdad Esfahbod
df66028781
[HB] Assorted compiler macros
2009-11-02 14:40:25 -05:00
Behdad Esfahbod
ba8d94ce33
[HB] Simplify object creation
2009-11-02 14:40:25 -05:00
Behdad Esfahbod
c62b503770
[HB] Add abstract font and face API
...
Not used yet.
2009-11-02 14:40:25 -05:00
Behdad Esfahbod
35a7383c61
[HB] Simplify refcounting functions
2009-11-02 14:40:24 -05:00
Behdad Esfahbod
23af767a44
[HB] Fix for dfont's with multiple faces
2009-11-02 14:40:24 -05:00
Behdad Esfahbod
e97a95f2ea
[HB] Use calloc instead of malloc where feasible
2009-11-02 14:40:24 -05:00
Behdad Esfahbod
0090dc0f67
[HB] Remove hinting setting and use ppem==0 to mean "no hinting"
2009-11-02 14:40:24 -05:00
Behdad Esfahbod
f0954d1e08
[HB] Add a "blob" manager
2009-11-02 14:40:24 -05:00
Behdad Esfahbod
02a370697d
[HB] Move direction to buffer
2009-11-02 14:40:23 -05:00
Behdad Esfahbod
7cda6fa24c
[HB] Rename internal vars
2009-11-02 14:40:23 -05:00
Behdad Esfahbod
b196e6f274
[HB] Fix buffer enlargement. Ouch
2009-11-02 14:40:23 -05:00
Behdad Esfahbod
f9cd1014f8
Apply patch from Jonathan Kew
2009-11-02 14:40:23 -05:00
Behdad Esfahbod
2ebb89d63d
Revert "XX"
...
This reverts commit c939f6aff405ca7b10b1f1538f46148bff719fcb.
2009-11-02 14:40:22 -05:00
Behdad Esfahbod
55520d2af1
XX
2009-11-02 14:40:22 -05:00
Behdad Esfahbod
f53d434b91
[GPOS] Advance buffer cursor in SinglePos lookups. Ouch!
2009-11-02 14:40:22 -05:00
Behdad Esfahbod
e35bbd570a
[HB] Improve buffer. Don't dup out buffer unless out is longer than in
...
That is, we work in-place even for ligatures now.
2009-11-02 14:40:22 -05:00
Behdad Esfahbod
6734ed4b6b
[GPOS] Fix property checking
2009-11-02 14:40:21 -05:00
Behdad Esfahbod
cc83ae1248
[GPOS] Add vertical TODO
2009-11-02 14:40:21 -05:00
Behdad Esfahbod
b69d38e7ea
[HB] Remove useless include
2009-11-02 14:40:21 -05:00
Behdad Esfahbod
6c8108cb58
[GPOS] Remove unused variables
2009-11-02 14:40:21 -05:00
Behdad Esfahbod
09c292e3b6
[HB] Fix glyph properties
2009-11-02 14:40:21 -05:00
Behdad Esfahbod
64e33f008f
[GPOS] Fix PairPos signedness
2009-11-02 14:40:20 -05:00
Behdad Esfahbod
80ea5bd10e
[GPOS] Fix mark matching
2009-11-02 14:40:20 -05:00
Behdad Esfahbod
4189b92aaa
[HB] When looking back/forward, skip marks only
2009-11-02 14:40:20 -05:00
Behdad Esfahbod
1246e41021
[GDEF] Support MarkFilteringSets
2009-11-02 14:40:20 -05:00
Behdad Esfahbod
5130c35e93
[HB] Simplify MarkAttachmentType handling
2009-11-02 14:40:20 -05:00
Behdad Esfahbod
e4b92b85a7
[HB] Support parsing MarkFilteringSets introduced in OpenType 1.6
2009-11-02 14:40:19 -05:00
Behdad Esfahbod
515ce4ceb2
[HB] More de-C++'ization
2009-11-02 14:40:19 -05:00
Behdad Esfahbod
d7df42d7ee
[HB] Start MarkFilteringSet support
2009-11-02 14:40:19 -05:00
Behdad Esfahbod
62964afcec
[HB] Implement get_lig_carets()
2009-11-02 14:40:19 -05:00
Behdad Esfahbod
79420ad9ca
[HB] Add get_attach_points()
2009-11-02 14:40:19 -05:00
Behdad Esfahbod
855720ca47
[HB] Remove more macros
2009-11-02 14:40:19 -05:00
Behdad Esfahbod
c968fc2dc8
[HB] More buffer cleanup
2009-11-02 14:40:19 -05:00
Behdad Esfahbod
88a5f5a49b
[HB] Cleanup buffer
2009-11-02 14:40:19 -05:00
Behdad Esfahbod
347f0b8621
[HB] Clean more
2009-11-02 14:40:18 -05:00
Behdad Esfahbod
d9d2a07f4a
[HB] Remove one XXX, add another
2009-11-02 14:40:18 -05:00
Behdad Esfahbod
6c78683c04
[HB] Update copyright years
2009-11-02 14:40:18 -05:00
Behdad Esfahbod
4497af0069
[HB] Would have helped if I actually knew C++ before using it...
2009-11-02 14:40:18 -05:00
Behdad Esfahbod
cc6c644ff2
[HB] More cleanup
2009-11-02 14:40:18 -05:00
Behdad Esfahbod
20cc86b359
[HB] Simplify Tag
2009-11-02 14:40:18 -05:00
Behdad Esfahbod
3ec0092c5e
[HB] Simplify more
2009-11-02 14:40:18 -05:00
Behdad Esfahbod
6ad8d5f3c7
[HB] Simplify some basic things
2009-11-02 14:40:18 -05:00
Behdad Esfahbod
f96ffd43bc
[HB] simplify macros
2009-11-02 14:40:18 -05:00
Behdad Esfahbod
8e7b30782a
[HB] Update text files
2009-11-02 14:40:18 -05:00
Behdad Esfahbod
fa7d472494
[HB] Remove stale makefile.msc too
2009-11-02 14:40:17 -05:00
Behdad Esfahbod
da2c52abcd
[HB] Remove old code!
...
Goodbye 16 thousand lines of ten-year old code!
2009-11-02 14:40:17 -05:00
Behdad Esfahbod
e5372f1621
[HB] Remove stale TODO mark
2009-11-02 14:40:17 -05:00
Behdad Esfahbod
96908b8984
[HB] Add FixedVersion cast to int
2009-11-02 14:40:17 -05:00
Behdad Esfahbod
957740dd25
[HB] Simplify tag
2009-11-02 14:40:17 -05:00
Behdad Esfahbod
87fcdcbe36
[HB] Remove unused data types
2009-11-02 14:40:17 -05:00
Behdad Esfahbod
5876bf1b73
[HB] Simplify version check in GSUB/GPOS
2009-11-02 14:40:17 -05:00
Behdad Esfahbod
212aba6189
[HB] Check for GDEF/GSUB/GPOS versions
2009-11-02 14:40:17 -05:00
Behdad Esfahbod
a21b5062cc
[HB] Minor
2009-11-02 14:40:17 -05:00
Behdad Esfahbod
a080b1cc2f
[HB] Add TODO items
2009-11-02 14:40:17 -05:00
Behdad Esfahbod
e4efdd80a8
[GDEF] Add some get_carret_value() code
2009-11-02 14:40:17 -05:00
Behdad Esfahbod
9b006bc032
[GPOS] MarkLigPosFormat1
...
GPOS is complete now! Yay!
2009-11-02 14:40:16 -05:00
Behdad Esfahbod
923923feb2
[HB] Remove apply_subtables() again
2009-11-02 14:40:16 -05:00
Behdad Esfahbod
d468f9af5b
[HB] Share Extension lookup code between GSUB and GPOS
2009-11-02 14:40:16 -05:00
Behdad Esfahbod
498f1909e0
[GPOS] Remove printf. MarkMarkPos1 is working
...
The "bug" was in the font.
2009-11-02 14:40:16 -05:00
Behdad Esfahbod
c7d457aa3a
[HB] Ouch. Add files.
2009-11-02 14:40:16 -05:00
Behdad Esfahbod
fe550f4dd8
[GPOS] MarkMarkPosFormat1
...
Still not quite working.
2009-11-02 14:40:16 -05:00
Behdad Esfahbod
357ccde36b
[GPOS] MarkBasePosFormat1
2009-11-02 14:40:16 -05:00
Behdad Esfahbod
377bfc5860
[GPOS] Implement MarkArray interface
2009-11-02 14:40:16 -05:00
Behdad Esfahbod
c18ec2b1d7
[GPOS] Implement Device support in AnchorFormat3
2009-11-02 14:40:15 -05:00
Behdad Esfahbod
fca6a0d158
[GPOS] Remove apply_value() return value
2009-11-02 14:40:15 -05:00
Behdad Esfahbod
fb3b5ccfef
[GPOS] Start MarkBasePosFormat1
2009-11-02 14:40:15 -05:00
Behdad Esfahbod
ee8776d9e0
[HB] Add TODO item
2009-11-02 14:40:15 -05:00
Behdad Esfahbod
c6456ca5cf
[HB] Add TODO item
2009-11-02 14:40:15 -05:00
Behdad Esfahbod
3015c41751
[HB] Remove last dependence on the old code base!
2009-11-02 14:40:15 -05:00
Behdad Esfahbod
5c0adce1cc
[HB] Rename harfbuzz-buffer to hb-buffer
2009-11-02 14:40:15 -05:00
Behdad Esfahbod
b857b49c82
[HB] Remove all references to the old code!
2009-11-02 14:40:15 -05:00
Behdad Esfahbod
e1593a6e62
[GPOS] Finally it's working, up to Cursive
...
Wow, IranNastaliq renders perfectly again!
2009-11-02 14:40:15 -05:00
Behdad Esfahbod
0f7e6b2cea
[GPOS] Fix more brokenness
2009-11-02 14:40:15 -05:00
Behdad Esfahbod
ff05d257dd
[HB] Move lookup types enum into subtable class
2009-11-02 14:40:14 -05:00
Behdad Esfahbod
263bbef767
[GDEF] Simplify Device access
2009-11-02 14:40:14 -05:00
Behdad Esfahbod
60d77cf05f
[HB] Indentation
2009-11-02 14:40:14 -05:00
Behdad Esfahbod
90de3dfff9
[HB] Remove unused methods
2009-11-02 14:40:14 -05:00
Behdad Esfahbod
4c44d830d7
[HB] Indentation
2009-11-02 14:40:14 -05:00
Behdad Esfahbod
d18fd8e3f7
[GPOS] CursivePosFormat1
2009-11-02 14:40:14 -05:00
Behdad Esfahbod
70632add33
[GSUB] PairPosFormat2
2009-11-02 14:40:14 -05:00
Behdad Esfahbod
b24ecbadf4
[GPOS] PairPosFormat1
2009-11-02 14:40:14 -05:00
Behdad Esfahbod
056c7ec1ae
[GPOS] Start filling apply() functions in
2009-11-02 14:40:14 -05:00
Behdad Esfahbod
4fa77d3c43
[HB] Use enums
2009-11-02 14:40:14 -05:00
Behdad Esfahbod
6b54c5d044
[HB] More reference cast simplification
2009-11-02 14:40:14 -05:00
Behdad Esfahbod
eb0dfc830e
[HB] Rename LOOKUP_ARGS to APPLY_ARGS
2009-11-02 14:40:13 -05:00
Behdad Esfahbod
2a8e6accdf
[HB] Internally rename position() and substitute() to apply()
2009-11-02 14:40:13 -05:00
Behdad Esfahbod
f6c8a6eacf
[HB] Simplify casts
2009-11-02 14:40:13 -05:00
Behdad Esfahbod
9c42f05a5c
Switch Pango to new, defunt, GPOS
2009-11-02 14:40:13 -05:00
Behdad Esfahbod
5e5eb0573f
[HB] Start GPOS!
2009-11-02 14:40:13 -05:00
Behdad Esfahbod
64e67f7599
[GSUB] Minor
2009-11-02 14:40:13 -05:00
Behdad Esfahbod
d79cae0b4e
[HB] Minor
2009-11-02 14:40:13 -05:00
Behdad Esfahbod
8533bb985e
[GSUB] Protect against mismatching Extension subtable types
2009-11-02 14:40:13 -05:00
Behdad Esfahbod
969afd706e
[GSUB] Implement ReverseChainSingleSubst
...
GSUB is done!
2009-11-02 14:40:13 -05:00
Behdad Esfahbod
4acaffd786
[HB] Don't use G_LIKELY!
2009-11-02 14:40:13 -05:00
Behdad Esfahbod
3dcb12f171
[GSUB] Oops, fix Extension check
2009-11-02 14:40:12 -05:00
Behdad Esfahbod
2e8fb6c38d
[HB] Tweak some constants and fix Coverage
2009-11-02 14:40:12 -05:00
Behdad Esfahbod
d6aae5f5ca
[HB] Cleanup TODOs
2009-11-02 14:40:12 -05:00
Behdad Esfahbod
122f21fb9a
[GSUB] Fix context_length handling in Ligature too
2009-11-02 14:40:12 -05:00
Behdad Esfahbod
47958dea21
[HB] Minor cleanup
2009-11-02 14:40:12 -05:00
Behdad Esfahbod
e73a0c2a90
[HB] Correctly skip glyphs when applying (Chain)Context lookups
2009-11-02 14:40:12 -05:00
Behdad Esfahbod
7cff75babd
[HB] Fix context_length checking
2009-11-02 14:40:12 -05:00
Behdad Esfahbod
d0ba055700
[HB] ChainContext complete
...
IranNastaliq renders perfectly again!
2009-11-02 14:40:12 -05:00
Behdad Esfahbod
e072c24e79
[HB] Implement backtrack matching
2009-11-02 14:40:12 -05:00
Behdad Esfahbod
02e1e5c63f
[HB] One more step to go, for fully working GSUB and ChainContext
2009-11-02 14:40:12 -05:00
Behdad Esfahbod
f14c2b7acf
[HB] Further modularize Context matching
2009-11-02 14:40:12 -05:00
Behdad Esfahbod
13ed4405c5
[HB] A step closer to working ChainContext
2009-11-02 14:40:11 -05:00
Behdad Esfahbod
e8cbaaf6d5
[HB] Add HeadlessArrayTo<>
2009-11-02 14:40:11 -05:00
Behdad Esfahbod
dcb6b60254
[HB] More template goodness
2009-11-02 14:40:11 -05:00
Behdad Esfahbod
aa3d7adca5
[HB] More churning towards ChainContext lookups
2009-11-02 14:40:11 -05:00
Behdad Esfahbod
48f16ed96a
[HB] Towards sharing Context and ChainContext code
2009-11-02 14:40:11 -05:00
Behdad Esfahbod
6cf2a52593
[HB] Add check to avoid infinite recursion
2009-11-02 14:40:11 -05:00
Behdad Esfahbod
887c4b4416
[HB] Cosmetic
2009-11-02 14:40:11 -05:00
Behdad Esfahbod
ca5290f499
[HB] Start ChainContext and ReverseChainSingleSubst lookups
2009-11-02 14:40:11 -05:00
Behdad Esfahbod
433f4aea74
[HB] Remove stale TODO
2009-11-02 14:40:11 -05:00
Behdad Esfahbod
6f20f72e9c
[HB] Split Layout-common tables into new files
2009-11-02 14:40:11 -05:00
Behdad Esfahbod
f45107fe09
[HB] More shuffling
2009-11-02 14:40:11 -05:00
Behdad Esfahbod
f8dc67b3c2
[HB] Cleanup format unions
2009-11-02 14:40:10 -05:00
Behdad Esfahbod
da1097bc3b
[HB] Use four bytes for Null Tag, not 5
2009-11-02 14:40:10 -05:00
Behdad Esfahbod
19fc24f268
[HB] Couple size checks
2009-11-02 14:40:10 -05:00
Behdad Esfahbod
ecf17e849d
[HB] Propagate property of first glyph
...
This slightly grows code size.
2009-11-02 14:40:10 -05:00
Behdad Esfahbod
eca8e33710
[GSUB] Further optimize the main switch
2009-11-02 14:40:10 -05:00
Behdad Esfahbod
13068232e7
[HB] Unify first glyph property checking
2009-11-02 14:40:10 -05:00
Behdad Esfahbod
66bf7ce4e3
[HB] Move Context matching logic out of GSUB
2009-11-02 14:40:10 -05:00
Behdad Esfahbod
a1625528cd
[GSUB] Unify ContextSubst matching
2009-11-02 14:40:10 -05:00
Behdad Esfahbod
c36238bea4
[HB] Renames
2009-11-02 14:40:09 -05:00
Behdad Esfahbod
15c3e75b39
[HB] Simplify buffer
2009-11-02 14:40:09 -05:00
Behdad Esfahbod
36f78446ce
[HB] Add TODO item
2009-11-02 14:40:09 -05:00
Behdad Esfahbod
ee58aaebd2
[HB] Update copyright years
2009-11-02 14:40:09 -05:00
Behdad Esfahbod
f4c9514935
[HB] Simplify more arrays
2009-11-02 14:40:09 -05:00
Behdad Esfahbod
c9a7cbe9cb
[HB] Use ArrayOf<> in GSUB
2009-11-02 14:40:09 -05:00
Behdad Esfahbod
5f810363ac
[HB] Add ArrayOf<>
2009-11-02 14:40:09 -05:00
Behdad Esfahbod
238c855fcd
[HB] Use OffsetTo<> for Coverage
2009-11-02 14:40:09 -05:00
Behdad Esfahbod
3d54bd1293
[HB] Use OffsetTo<> in more places
2009-11-02 14:40:09 -05:00
Behdad Esfahbod
9e4d9d7b27
[HB] Add OffsetTo template.
2009-11-02 14:40:09 -05:00
Behdad Esfahbod
e07f89295b
[HB] Automate int-type size assertion
2009-11-02 14:40:09 -05:00
Behdad Esfahbod
8b83580331
[HB] Use templates for Null objects
...
Also use a common pool for all nul-content ones.
2009-11-02 14:40:08 -05:00
Behdad Esfahbod
6e13d41401
[HB] Remove obsolete comment
2009-11-02 14:40:08 -05:00
Behdad Esfahbod
9f721cf380
[GSUB] Start ChainContextSubst
2009-11-02 14:40:08 -05:00
Behdad Esfahbod
7fca9e5245
[GSUB] Implement ContextSubstFormat3
2009-11-02 14:40:08 -05:00
Behdad Esfahbod
1ff926a568
[GSUB] Implement ContextSubstFormat2
2009-11-02 14:40:08 -05:00
Behdad Esfahbod
fc36d9453e
[GSUB] Add GSUB::substitute_lookup()
2009-11-02 14:40:08 -05:00
Behdad Esfahbod
c43562b2a7
[GSUB] Finish ContextSubstFormat1
2009-11-02 14:40:08 -05:00
Behdad Esfahbod
5ee2189622
[HB] Fix typo
2009-11-02 14:40:08 -05:00
Behdad Esfahbod
6b59c9b445
[HB] Add TODO item
2009-11-02 14:40:08 -05:00
Behdad Esfahbod
c5419b6cf2
[HB] Remove DEFINE_NON_INSTANTIABLE
2009-11-02 14:40:08 -05:00
Behdad Esfahbod
0dff25f036
[HB] Remove get_size()
2009-11-02 14:40:07 -05:00
Behdad Esfahbod
25c6c9a3f6
[GSUB] ContextSubst format 1
2009-11-02 14:40:07 -05:00
Behdad Esfahbod
f702295103
[GSUB] Shuffle
2009-11-02 14:40:07 -05:00
Behdad Esfahbod
a83e08f872
[HarfBuzz] Start a TODO file
2009-11-02 14:40:07 -05:00
Behdad Esfahbod
eed05b04eb
[GSUB] minor
2009-11-02 14:40:07 -05:00
Behdad Esfahbod
cdb317bc4e
[GSUB] Towards Context subtitutes
2009-11-02 14:40:07 -05:00
Behdad Esfahbod
c9c6a78aec
[GSUB] Minor refactoring
2009-11-02 14:40:07 -05:00
Behdad Esfahbod
bb3899a579
[GSUB] Implement ligature substitutions
2009-11-02 14:40:07 -05:00
Behdad Esfahbod
38b011a293
[GSUB] Hook new GSUB up in Pango
2009-11-02 14:40:07 -05:00
Behdad Esfahbod
a84e71ad11
[GSUB] Start Ligature subtable support
2009-11-02 14:40:07 -05:00
Behdad Esfahbod
52886ca56b
[GSUB] Implement Alternate subtables
2009-11-02 14:40:06 -05:00
Behdad Esfahbod
4f27ce7e02
[GSUB] Implement Extension subtables
2009-11-02 14:40:06 -05:00
Behdad Esfahbod
83e61ff470
[GSUB] Fix reverse lookup loop like we did in the old code before
2009-11-02 14:40:06 -05:00
Behdad Esfahbod
5a0b791184
[harfbuzz/GSUB] towards a partially working GSUB
2009-11-02 14:40:06 -05:00
Behdad Esfahbod
30bd763fa2
Implement the first substitute()
2009-11-02 14:40:06 -05:00
Behdad Esfahbod
ce48f03946
Merge harfbuzz-ng
2009-11-02 14:38:33 -05:00
Behdad Esfahbod
0e13beeb93
Use git.mk
2009-04-17 17:39:15 -04:00
Behdad Esfahbod
2d15e72c75
Give it a start at GSUB
2009-04-15 19:50:16 -04:00
Behdad Esfahbod
9d870f2a55
Bug 577952 – Error loading {GDEF,GSUB,GPOS} table 0x6EAD
...
Detect TrueType Collections by checking the font data header instead
of checking for "face->num_faces >1".
2009-04-09 13:30:26 -04:00
Behdad Esfahbod
d49caf1f77
[opentype] Protect against illegal access for arrays of length zero
2009-03-02 15:16:11 +03:30
Behdad Esfahbod
66871797af
[opentype] Use size_t instead of uint for malloc wrappers
2009-03-02 14:20:20 +03:30
Behdad Esfahbod
3664e59c52
Fix Bug 572529 – Poor -I ordering can break build
2009-03-02 11:09:29 +03:30
Behdad Esfahbod
aca4d11388
Allocate all array rows in a single ALLOC call. Saves over 100 alloc calls
...
2009-01-31 Behdad Esfahbod <behdad@gnome.org>
* pango/opentype/harfbuzz-gpos.c (Load_Mark2Array),
(Free_Mark2Array):
Allocate all array rows in a single ALLOC call. Saves over 100
alloc calls when loading DejaVu Sans,
2009-02-02 00:13:07 +00:00
Behdad Esfahbod
c561d69c72
Remove ClassDef->Defined field. This is the comment accompanying it:
...
2009-01-29 Behdad Esfahbod <behdad@gnome.org>
* pango/opentype/harfbuzz-open.h:
* pango/opentype/harfbuzz-gdef.c (Make_ClassRange),
(HB_GDEF_Build_ClassDefinition):
* pango/opentype/harfbuzz-gpos.c (Load_PosClassRule),
(Load_ChainPosClassRule):
* pango/opentype/harfbuzz-gsub.c (Load_SubClassRule),
(Load_ChainSubClassRule):
* pango/opentype/harfbuzz-open.c (Load_ClassDef1),
(Load_ClassDef2), (_HB_OPEN_Load_ClassDefinition),
(_HB_OPEN_Load_EmptyClassDefinition),
(_HB_OPEN_Free_ClassDefinition):
Remove ClassDef->Defined field. This is the comment accompanying it:
The `Defined' field is not defined in the OpenType specification
but apparently needed for processing fonts like trado.ttf: This
font refers to a class which contains not a single element. We
map such classes to class 0.
The comment is correct that trado.ttf (MS Traditional Arabic) uses
such classes. However, in my testing I couldn't identify any
problems with the font if the special handling is removed. I also
processed as many fonts as I could get my hand on and trado.ttf was
the only not-totally-broken font hitting the special-case code.
DejaVu fonts hit it too, but I'm sure they do not require the
special-handling code. Most probably, that code introduces bugs
in them.
The special-casing was consuming lots of memory. EIGHT MEGABYTES
for loading DejaVu Sans! While this could be complete fixed, I
decided to remove the special-handling code altogether. I don't
think it will make any real difference, and if it does, we'll fix
fonts. Such hacks will not be in harfbuzz-ng anyway.
Bug originally reported by nsf.
2009-01-29 09:20:08 +00:00
Behdad Esfahbod
9372edd6f0
Use calloc(), instead of malloc()ing and memset()ing.
...
2009-01-29 Behdad Esfahbod <behdad@gnome.org>
* pango/opentype/harfbuzz-impl.c (_hb_alloc): Use calloc(),
instead of malloc()ing and memset()ing.
2009-01-29 09:19:56 +00:00
Behdad Esfahbod
94c21d26ba
Remove old cruft.
...
2009-01-29 Behdad Esfahbod <behdad@gnome.org>
* pango/opentype/harfbuzz-dump-main.c (main): Remove old cruft.
2009-01-29 09:19:43 +00:00
Behdad Esfahbod
0a47c4f78e
Allocate all array rows in a single ALLOC call. Saves over 2000 alloc
...
2009-01-29 Behdad Esfahbod <behdad@gnome.org>
* pango/opentype/harfbuzz-gpos.c (Load_BaseArray), (Free_BaseArray):
Allocate all array rows in a single ALLOC call. Saves over 2000
alloc calls when loading DejaVu Sans!
2009-01-29 09:19:20 +00:00
Behdad Esfahbod
549be924bc
Bug 469049 – Fix all compiler warnings
...
2008-12-25 Behdad Esfahbod <behdad@gnome.org>
Bug 469049 – Fix all compiler warnings
* pango-view/viewer-pangocairo.c (render_callback):
* pango/fonts.c (append_field), (pango_font_description_to_string):
* pango/opentype/harfbuzz-dump.c:
* pango/pango-bidi-type.c (pango_log2vis_get_embedding_levels):
* pango/pango-coverage.c (pango_coverage_set):
* pango/pango-markup.c (span_parse_func):
* pango/pango-renderer.c
(pango_renderer_default_draw_error_underline):
* pango/pango-utils.c (pango_scan_string):
* pango/pangocairo-render.c (pango_cairo_renderer_draw_trapezoid),
(draw_error_underline), (pango_cairo_renderer_class_init):
Fix all the remaining warnings.
2008-12-26 02:31:47 +00:00
Behdad Esfahbod
719f9eaa75
Fix more warnings.
...
2008-12-25 Behdad Esfahbod <behdad@gnome.org>
* pango/modules.c (pango_module_load), (script_info_free):
* pango/opentype/harfbuzz-gpos.c (HB_Load_GPOS_Table):
* pango/pango-bidi-type.c:
* pango/pango-coverage.c (pango_coverage_ref),
(pango_coverage_unref):
* pango/pango-engine.c (pango_engine_shape_real_covers),
(fallback_engine_shape), (fallback_engine_covers):
* pango/pango-fontmap.c (pango_font_map_init):
* pango/pango-ot-ruleset.c (pango_ot_ruleset_finalize),
(pango_ot_ruleset_new):
* pango/pangofc-decoder.c (pango_fc_decoder_init),
(pango_fc_decoder_class_init):
* pango/pangofc-font.c (pango_fc_font_find_shaper),
(pango_fc_font_get_coverage):
* pango/pangofc-fontmap.c (pango_fc_font_map_list_families),
(pango_fc_make_pattern), (pango_fc_font_map_get_patterns),
(get_first_font), (_pango_fc_font_map_get_coverage),
(cleanup_font), (pango_fc_font_description_from_pattern),
(pango_fc_face_list_sizes), (pango_fc_family_list_faces):
* pango/pangoft2-fontmap.c (pango_ft2_font_map_get_resolution):
* pango/pangoft2-render.c (pango_ft2_renderer_init),
(pango_ft2_renderer_draw_trapezoid):
* pango/pangoft2.c (pango_ft2_font_get_face),
(pango_ft2_font_real_unlock_face),
(pango_ft2_free_glyph_info_callback):
Fix more warnings.
2008-12-26 02:31:35 +00:00
Behdad Esfahbod
21f7d507f4
Bug 528272 – "Error loading GPOS table 5503" when using katakana
...
2008-10-14 Behdad Esfahbod <behdad@gnome.org>
Bug 528272 – "Error loading GPOS table 5503" when using katakana
characters
* pango/opentype/harfbuzz-gpos.c (Load_Mark2Array): Skip parsing
null anchor tables.
2008-10-15 03:45:29 +00:00
Behdad Esfahbod
a26c6ae705
Fix left-to-right positioning. Reported by Peter Hunter.
...
2008-09-29 Behdad Esfahbod <behdad@gnome.org>
* pango/opentype/harfbuzz-gpos.c (Position_CursiveChain):
Fix left-to-right positioning. Reported by Peter Hunter.
2008-09-29 22:28:47 +00:00
Behdad Esfahbod
b6c06c56a3
Bug 540592 – Crash in HB_GSUB_Apply_String with Linux-Libertine font
...
2008-06-29 Behdad Esfahbod <behdad@gnome.org>
Bug 540592 – Crash in HB_GSUB_Apply_String with Linux-Libertine font
* pango/opentype/harfbuzz-gsub.c (GSUB_Do_String_Lookup): Fix reverse
loops for type 8 lookups.
2008-06-29 18:30:14 +00:00
Behdad Esfahbod
c44733596c
[hb-ot-layout] Add proper namespace to accessors
2008-02-18 21:33:22 -05:00
Behdad Esfahbod
5722567209
Fix typo, add TODOs
2008-02-18 20:58:39 -05:00
Behdad Esfahbod
4a26ea408c
Finish script, language, and feature public API
2008-01-29 17:42:11 -05:00
Behdad Esfahbod
706ab25a4c
Add script and language public getter API
2008-01-28 05:58:50 -05:00
Behdad Esfahbod
40a81314fa
Make main.cc compile again, which means finished getter API
2008-01-28 02:30:48 -05:00
Behdad Esfahbod
e50c3978d3
Rename HB_OT_Layout to hb_ot_layout_t
2008-01-28 00:16:49 -05:00
Behdad Esfahbod
dfa8119651
Rename hb_ot_layout_create() to hb_ot_layout_create_for_data()
2008-01-28 00:12:21 -05:00
Behdad Esfahbod
54e5aac5e2
GDEF completely working now
2008-01-27 21:21:37 -05:00
Behdad Esfahbod
6f425b1179
[GDEF] Finish internal API
2008-01-24 19:39:49 -05:00
Behdad Esfahbod
590d55cbb9
[GDEF] Finish public API
2008-01-24 19:15:35 -05:00
Behdad Esfahbod
aff831ed67
Implement glyph properties
2008-01-24 06:03:45 -05:00
Behdad Esfahbod
ead428d7a0
More public api
2008-01-24 04:09:46 -05:00
Behdad Esfahbod
fd92a3dde3
Starting public interface
2008-01-24 03:36:11 -05:00
Behdad Esfahbod
7d6b95b000
Remove unused macro
2008-01-24 04:42:24 +00:00
Behdad Esfahbod
7586089c6f
Minor
2008-01-23 18:02:28 -05:00
Behdad Esfahbod
aefaafe5bc
Minor renaming
2008-01-23 17:25:29 -05:00
Behdad Esfahbod
a16ecbf056
Initial gsub stub
2008-01-23 17:01:55 -05:00
Behdad Esfahbod
64aef3a549
Add copyright notices.
2008-01-23 16:14:38 -05:00
Behdad Esfahbod
12360f7c15
Minor cleanup, add LIKELY and UNLIKELY annotations
2008-01-23 15:50:38 -05:00
Behdad Esfahbod
8dd1c8b8d6
Clean up file names, add namespace
2008-01-23 05:02:14 -05:00
Behdad Esfahbod
1f437e6f47
Make all code NULL-free and assert-free
2008-01-23 04:55:38 -05:00
Behdad Esfahbod
600e5eb80f
Define get_for_data() factories
2008-01-23 02:01:37 -05:00
Behdad Esfahbod
b9d7688fb3
Finish and test GDEF
2008-01-23 01:38:10 -05:00
Behdad Esfahbod
303fe62824
Misc cleanup
2008-01-23 00:20:48 -05:00
Behdad Esfahbod
17843245fd
Remove COPYING.GPL and COPYING.FTL that are no longer there.
...
2008-01-16 Behdad Esfahbod <behdad@gnome.org>
* pango/opentype/Makefile.am: Remove COPYING.GPL and COPYING.FTL that
are no longer there.
2008-01-16 20:39:29 +00:00
Behdad Esfahbod
a2a9a023f6
HarfBuzz was relicensed to a more generous and simpler license. Adapt. See
...
2008-01-15 Behdad Esfahbod <behdad@gnome.org>
* pango/opentype/*:
HarfBuzz was relicensed to a more generous and simpler license.
Adapt. See pango/opentype/COPYING for the new license which is
LGPL-compatible.
2008-01-15 22:46:32 +00:00
Behdad Esfahbod
4ccedd22ea
Bug 501575 – Compile errors Patch from Jens Granseuer
...
2007-12-04 Behdad Esfahbod <behdad@gnome.org>
Bug 501575 – Compile errors
Patch from Jens Granseuer
* pango/opentype/harfbuzz-stream.c (_hb_font_goto_table):
* pango/pango-utils.c (handle_alias_line):
Fix C99ism.
2007-12-05 03:41:29 +00:00
Behdad Esfahbod
cd55cfa2b0
Undo accidental change.
2007-11-30 04:31:29 +00:00
Behdad Esfahbod
3f05da638c
Bug 485536 – underline_position can be zero
...
2007-11-29 Behdad Esfahbod <behdad@gnome.org>
Bug 485536 – underline_position can be zero
* pango/pango-utils.c (pango_cairo_quantize_line_geometry):
Document that returned position may be zero.
* pango/pangocairo-win32font.c
(pango_cairo_win32_font_create_metrics_for_context):
* pango/pangofc-font.c (get_face_metrics):
Handle case of underline_position==0 after rounding.
2007-11-30 04:29:58 +00:00
Behdad Esfahbod
e58278fedb
Remove unused macro.
...
2007-11-23 Behdad Esfahbod <behdad@gnome.org>
* pango/opentype/harfbuzz-impl.c: Remove unused macro.
2007-11-24 01:40:13 +00:00
Behdad Esfahbod
3b047380ae
Minor
2007-11-18 22:34:08 +00:00
Behdad Esfahbod
10d6a25a26
Remove dead code.
2007-11-07 10:04:11 +00:00
Behdad Esfahbod
47d2c33e3d
And some more.
...
2007-11-07 Behdad Esfahbod <behdad@gnome.org>
* pango/opentype/*: And some more.
2007-11-07 09:59:18 +00:00
Behdad Esfahbod
78ef65ba08
Some more cleanup and merging.
...
2007-11-07 Behdad Esfahbod <behdad@gnome.org>
* pango/opentype/*: Some more cleanup and merging.
2007-11-07 08:06:01 +00:00
Behdad Esfahbod
5c9bd37995
Fix typo.
2007-10-29 23:51:48 +00:00
Behdad Esfahbod
ef1f481752
Even more cleanup and more type renames.
...
2007-10-25 Behdad Esfahbod <behdad@gnome.org>
* pango/opentype/*: Even more cleanup and more type renames.
2007-10-25 23:37:11 +00:00
Behdad Esfahbod
282c60a0ee
More cleanup, remove redundant error types.
...
2007-10-25 Behdad Esfahbod <behdad@gnome.org>
* pango/opentype/*: More cleanup, remove redundant error types.
2007-10-25 23:22:17 +00:00
Behdad Esfahbod
4280ec4df4
Rename ftglue.c to harfbuzz-impl.c and more type renames and moving code
...
2007-10-24 Behdad Esfahbod <behdad@gnome.org>
* pango/opentype/*: Rename ftglue.c to harfbuzz-impl.c and more
type renames and moving code around.
2007-10-25 00:23:46 +00:00
Behdad Esfahbod
5716ae278a
New header file harfbuzz-global.h. Rename FT_* int types to HB_* types.
...
2007-10-24 Behdad Esfahbod <behdad@gnome.org>
* pango/opentype/*: New header file harfbuzz-global.h. Rename
FT_* int types to HB_* types.
2007-10-24 22:44:47 +00:00
Behdad Esfahbod
2130d852c7
Add commented-out dummy struct for Extension lookups.
...
2007-10-24 Behdad Esfahbod <behdad@gnome.org>
* pango/opentype/harfbuzz-gpos-private.h:
* pango/opentype/harfbuzz-gsub-private.h:
Add commented-out dummy struct for Extension lookups.
2007-10-24 21:35:03 +00:00
Behdad Esfahbod
13b2b96384
Bug 488840 – harfbuzz: protect against ligid overflow
...
2007-10-21 Behdad Esfahbod <behdad@gnome.org>
Bug 488840 – harfbuzz: protect against ligid overflow
* pango/opentype/harfbuzz-buffer.c (_hb_buffer_allocate_ligid):
Never return zero, even in case of overflow.
* pango/opentype/harfbuzz-impl.h: Define dummy HB_LIKELY() and
HB_UNLIKELY(), to be filled later.
2007-10-21 18:17:02 +00:00
Behdad Esfahbod
6b347138b5
Mark internal symbols as HB_INTERNAL and define that to static in
...
2007-10-11 Behdad Esfahbod <behdad@gnome.org>
* pango/opentype/*: Mark internal symbols as HB_INTERNAL and
define that to static in harfbuzz.c.
* pango/opentype/harfbuzz-buffer-internal.h: New file.
2007-10-11 08:30:50 +00:00
Behdad Esfahbod
7cdfb61dee
Remove FTGLUE_API/APIDEF cruft.
...
2007-10-11 Behdad Esfahbod <behdad@gnome.org>
* pango/opentype/ftglue.[ch]: Remove FTGLUE_API/APIDEF cruft.
2007-10-11 07:46:33 +00:00
Behdad Esfahbod
61ddbafaaa
Build harfbuzz.c instead of individual source files, to let compiler go
...
2007-10-11 Behdad Esfahbod <behdad@gnome.org>
* pango/opentype/Makefile.am: Build harfbuzz.c instead of individual
source files, to let compiler go wild with optimizations!
2007-10-11 07:45:26 +00:00
Behdad Esfahbod
a219b3d003
Same here.
...
2007-10-11 Behdad Esfahbod <behdad@gnome.org>
* pango/opentype/harfbuzz.c: Same here.
2007-10-11 07:34:08 +00:00
Behdad Esfahbod
6567e16e3b
Don't include harfbuzz-dump.[ch] in libharfbuzz.a. Those are just used by
...
2007-10-11 Behdad Esfahbod <behdad@gnome.org>
* pango/opentype/Makefile.am: Don't include harfbuzz-dump.[ch] in
libharfbuzz.a. Those are just used by the harfbuzz-dump tool.
2007-10-11 07:33:19 +00:00
Behdad Esfahbod
0b032549ba
Some more cleanup.
...
2007-10-11 Behdad Esfahbod <behdad@gnome.org>
* pango/opentype/harfbuzz-buffer.c: Some more cleanup.
2007-10-11 07:24:47 +00:00
Behdad Esfahbod
7a26864308
Move some code around.
...
2007-10-11 Behdad Esfahbod <behdad@gnome.org>
* pango/opentype/harfbuzz-buffer.c: Move some code around.
2007-10-11 07:21:31 +00:00
Behdad Esfahbod
7a5405c826
Minor.
2007-10-11 07:15:16 +00:00
Behdad Esfahbod
986f4fd968
Rename buffer->inplace to buffer->separate_out with the inverted meaning,
...
2007-10-11 Behdad Esfahbod <behdad@gnome.org>
* pango/opentype/harfbuzz-buffer.[ch]: Rename buffer->inplace to
buffer->separate_out with the inverted meaning, such that buffer
is initialization is memset(0).
2007-10-11 07:12:49 +00:00
Behdad Esfahbod
06003908cc
Allocate buffer->positions lazily.
...
2007-10-11 Behdad Esfahbod <behdad@gnome.org>
* pango/opentype/*: Allocate buffer->positions lazily.
2007-10-11 07:05:09 +00:00
Behdad Esfahbod
fc3d6f5758
Bug 485621 – Get rid of freetype memory allocator in harfbuzz
...
2007-10-11 Behdad Esfahbod <behdad@gnome.org>
Bug 485621 – Get rid of freetype memory allocator in harfbuzz
* pango/opentype/*: Remove all occurences of FT_Memory. Use
malloc/realloc/free directly.
* pango/pango-ot*: Update to above.
2007-10-11 06:52:07 +00:00
Behdad Esfahbod
a8abb8b994
Bug 485559 – Boston Summit HarfBuzz optimizations
...
2007-10-10 Behdad Esfahbod <behdad@gnome.org>
Bug 485559 – Boston Summit HarfBuzz optimizations
* pango/opentype/*: HarfBuzz hacking to:
- Rename last remaining FT_Err stuff to HB_Err.
- Fix a couple invalid table paths to be permissive so
fonts work better. Particularly GDEF table for Nafees
Nastaliq is loaded and works great now.
- Optimize harfbuzz buffer to not copy/swap for simple
one-to-one and "copy" GSUB operations.
* pango/pango-ot*: Update to FT_Err to HB_Err renaming.
2007-10-11 00:07:58 +00:00
Behdad Esfahbod
dd810b76bc
Bug 302952 – The placement of a diacritic marks for an arabic ligature
...
2007-08-29 Behdad Esfahbod <behdad@gnome.org>
Bug 302952 – The placement of a diacritic marks for an arabic ligature
is not correct
* pango/opentype/harfbuzz-buffer.c (hb_buffer_allocate_ligid): Don't
use zero as allocated ligature id. Zero means no ligature id.
2007-08-29 08:46:50 +00:00
Behdad Esfahbod
e90d199194
Bug 463430 – Gets stuck while "formatting message"
...
2007-08-21 Behdad Esfahbod <behdad@gnome.org>
Bug 463430 – Gets stuck while "formatting message"
* pango/opentype/harfbuzz-gpos.c (Lookup_PairPos1),
(Lookup_PairPos2), (Lookup_PairPos), (Do_ContextPos):
* pango/opentype/harfbuzz-gsub.c (Do_ContextSubst):
Change type of intermediate index variable from FT_UShort to
FT_ULong as it was overlowing with more than 65536 glyphs.
2007-08-21 08:03:26 +00:00
Behdad Esfahbod
13b86ee398
Don't ignore error return value of hb_buffer_copy_output_glyph(). Patch
...
2007-08-20 Behdad Esfahbod <behdad@gnome.org>
* pango/opentype/harfbuzz-gsub.c (GSUB_Do_String_Lookup): Don't
ignore error return value of hb_buffer_copy_output_glyph(). Patch
sent to harfbuzz-list.
2007-08-21 01:38:07 +00:00
Behdad Esfahbod
4c2556cb4c
[gdef] Initial implementation
2007-07-06 11:29:21 -04:00
Behdad Esfahbod
5b2e947fd2
[open] small fixes, including not using unions for main structs
2007-07-06 02:03:26 -04:00
Behdad Esfahbod
151df44346
Improve stupid Makefile
2007-07-05 17:22:07 -04:00
Behdad Esfahbod
6c49bebc70
Link freetype to harfbuzz-dump, for those systems that don't track
...
2007-04-30 Behdad Esfahbod <behdad@gnome.org>
* pango/opentype/Makefile.am: Link freetype to harfbuzz-dump, for
those systems that don't track dependencies automatically.
2007-05-01 02:32:12 +00:00
Behdad Esfahbod
7341a11691
Copy fixes from harfbuzz stable branch. Includes a leak fix, a kerning
...
2007-04-03 Behdad Esfahbod <behdad@gnome.org>
* pango/opentype/harfbuzz-gdef.c (_HB_GDEF_Check_Property):
* pango/opentype/harfbuzz-gpos.c (HB_Done_GPOS_Table),
(Lookup_PairPos):
* pango/opentype/harfbuzz-open.c (Get_Class1):
Copy fixes from harfbuzz stable branch. Includes a leak fix,
a kerning fix, and an array out-of-bound access fix.
2007-04-03 22:45:29 +00:00
Hans Breuer
999a6f0575
updated
...
2007-01-13 Hans Breuer <hans@breuer.org>
* pango/makefile.msc pango/opentype/makefile.msc : updated
2007-01-13 21:31:41 +00:00
Behdad Esfahbod
3c038d40da
Remove .cvsignore files (moved to svn:ignore prop)
2007-01-09 03:32:12 +00:00
Behdad Esfahbod
5b3f7702a6
Add stub GDEF files
2006-12-28 06:42:37 -05:00
Behdad Esfahbod
b3395a7aa3
Don't shift down the mark attachment type
2006-12-28 06:31:18 -05:00
Behdad Esfahbod
193b66d52a
Remove stale comment
2006-12-28 06:12:18 -05:00
Behdad Esfahbod
12c4568c68
Break and rename, in the layout of old HarfBuzz codebase
2006-12-28 06:10:59 -05:00
Behdad Esfahbod
3158d84b0d
Oops. s/OpenTypeFontFaceFile/OpenTypeFontFile/g
2006-12-27 20:08:07 -05:00
Behdad Esfahbod
bf0f9dd613
Use union for ClassDef
2006-12-27 20:06:42 -05:00
Behdad Esfahbod
c46196d09c
Use union for Coverage
2006-12-27 20:05:16 -05:00
Behdad Esfahbod
86f450243d
Add GPOS stub
2006-12-27 19:59:07 -05:00
Behdad Esfahbod
133466177e
s/OpenTypeFont/OpenTypeFontFace/g
2006-12-27 19:58:32 -05:00
Behdad Esfahbod
71d62baab0
GSUBGPOSHeader
2006-12-27 01:36:20 -05:00
Behdad Esfahbod
eebabd8b2e
Finished OpenType Common Table Formats
2006-12-27 00:21:31 -05:00
Behdad Esfahbod
2b73745197
Device tables.
2006-12-26 20:55:37 -05:00
Behdad Esfahbod
eb32e374f4
ClassDef
2006-12-26 20:00:33 -05:00
Behdad Esfahbod
53502c6723
Rename CoverageFormat to Coverage
2006-12-26 19:29:08 -05:00
Behdad Esfahbod
0d6db2abcb
Define more structs using DEFINE_INT_TYPE.
2006-12-26 19:05:35 -05:00
Behdad Esfahbod
915931b74a
s/DEFINE_NOT_INSTANTIABLE/DEFINE_NON_INSTANTIABLE/
2006-12-26 15:30:14 -05:00
Behdad Esfahbod
0c0d55330e
Coverage.
2006-12-26 15:29:38 -05:00
Behdad Esfahbod
882e52f591
Rename to harfbuzz-ng.cc
2006-12-25 10:28:31 -05:00
Behdad Esfahbod
f8ba99f6f3
LookupFlags
2006-12-25 09:58:02 -05:00
Behdad Esfahbod
25ad92c8a6
Implement Feature
2006-12-25 09:35:06 -05:00
Behdad Esfahbod
befc022aff
LangSys
2006-12-25 09:14:52 -05:00
Behdad Esfahbod
c81efca149
Use CamelCaseTags.
2006-12-25 06:22:08 -05:00
Behdad Esfahbod
808dbe283c
Make types not instantiable
2006-12-25 06:18:52 -05:00
Behdad Esfahbod
b739c05ca4
Add OpenTypeFontFile.
2006-12-25 05:39:20 -05:00
Behdad Esfahbod
8596944b74
Add Makefile
2006-12-23 17:49:25 -05:00
Behdad Esfahbod
b6e62bc5db
After DEFINE_SCRIPT_ARRAY
2006-12-22 02:21:55 -05:00
Behdad Esfahbod
01e4fcb032
Remove the annoying HB_ prefix.
2006-12-21 22:31:31 -05:00
Behdad Esfahbod
6b4ce01da1
Second version. Complete redesign, based on C++ classes to ensure endian
...
correctness.
2006-12-21 22:31:10 -05:00
Behdad Esfahbod
f78e70c301
First version.
2006-12-21 22:30:38 -05:00
Behdad Esfahbod
f726b20e56
Bug 347073 – Allow empty GPOS table
...
2006-07-24 Behdad Esfahbod <behdad@gnome.org>
Bug 347073 – Allow empty GPOS table
* pango/opentype/harfbuzz-open.c (_HB_OPEN_Load_ScriptList): Don't
err on empty GPOS/GSUB tables.
2006-07-25 01:02:27 +00:00
Behdad Esfahbod
52481a5c55
Bug 345600 – cvs build error in pango/opentype/Makefile
...
2006-06-22 Behdad Esfahbod <behdad@gnome.org>
Bug 345600 – cvs build error in pango/opentype/Makefile
* pango/opentype/Makefile.am: Rename variable SOURCES to MAINSOURCES.
Some automake versions seem to use it or something.
2006-06-22 18:09:04 +00:00
Behdad Esfahbod
ffb2d5c1e7
Bug 341138 – Using TTC font, Gtk2 programs begin to eating big memory
...
2006-05-31 Behdad Esfahbod <behdad@gnome.org>
Bug 341138 – Using TTC font, Gtk2 programs begin to eating big memory
and have many cpu usage.
Patch from Yong Li.
* pango/opentype/ftglue.c (_hb_ftglue_face_goto_table): TrueType table
offsets are absolute, not relative.
2006-05-31 07:42:55 +00:00
Behdad Esfahbod
f8f7bd2451
Bug 336153 – Mark to mark positioning (Lookup Type 6) isn't correct when
...
2006-05-31 Behdad Esfahbod <behdad@gnome.org>
Bug 336153 – Mark to mark positioning (Lookup Type 6) isn't correct
when using MarkAttchmentType
Patch from Tin Myo Htet.
* pango/opentype/harfbuzz-gpos.c (Lookup_MarkMarkPos): Ignore marks
of non-matchin attachment type.
2006-05-31 07:23:02 +00:00
Behdad Esfahbod
d2a613187c
Fix loop variables. (coverity found bug.)
...
2006-04-12 Behdad Esfahbod <behdad@gnome.org>
* pango/opentype/harfbuzz-gpos.c: Fix loop variables. (coverity
found bug.)
2006-04-12 18:47:50 +00:00
Behdad Esfahbod
14022e826f
Bug 337924 – cleanups for issues reported by various compilers Patch
...
2006-04-11 Behdad Esfahbod <behdad@gnome.org>
Bug 337924 – cleanups for issues reported by various compilers
Patch from Kjartan Maraas.
* examples/viewer-x.c (update):
* modules/arabic/arabic-fc.c (fallback_shape),
(arabic_engine_shape):
* modules/basic/basic-fc.c (fallback_shape), (basic_engine_shape):
* modules/basic/basic-x.c:
* modules/hangul/hangul-fc.c:
* modules/hebrew/hebrew-fc.c (hebrew_engine_shape):
* modules/indic/indic-fc.c:
* modules/khmer/khmer-fc.c:
* modules/syriac/syriac-fc.c:
* modules/thai/thai-fc.c:
* modules/tibetan/tibetan-fc.c:
* pango/break.c:
* pango/modules.c:
* pango/opentype/ftglue.c (_hb_ftglue_face_goto_table):
* pango/pango-attributes.c (pango_attr_list_filter):
* pango/pango-engine.c:
* pango/pango-fontset.c:
* pango/pango-layout.c (pango_layout_set_text),
(pango_layout_xy_to_index), (pango_layout_get_cursor_pos):
* pango/pango-markup.c (text_handler):
* pango/pango-utils.c (read_alias_file):
* pango/pangocairo-fcfont.c (G_DEFINE_TYPE_WITH_CODE):
* pango/pangocairo-fcfontmap.c (G_DEFINE_TYPE_WITH_CODE):
* pango/pangocairo-font.c (_pango_cairo_font_get_hex_box_info):
* pango/pangox-fontmap.c (pango_x_make_matching_xlfd):
* tests/dump-boundaries.c (fail):
Remove unused variables. Remove excess semicolon after DEFINE_TYPE
macros.
2006-04-11 08:31:44 +00:00
Behdad Esfahbod
59aafd0780
Fix minor bugs reported by the Coverity scan report.
...
2006-04-10 Behdad Esfahbod <behdad@gnome.org>
Fix minor bugs reported by the Coverity scan report.
* pango/opentype/harfbuzz-gdef.c (HB_GDEF_Build_ClassDefinition):
* pango/opentype/harfbuzz-gpos.c (HB_GPOS_Query_Scripts),
(HB_GPOS_Query_Languages), (HB_GPOS_Query_Features): Do not access
structs before we check them for nullity.
* pango/pango-layout.c (pango_layout_index_to_line),
(pango_layout_index_to_line_and_extents),
(pango_layout_index_to_pos): Check for invalid iterators outside the
loop, so we don't crash.
* pango/pango-layout.c (pango_layout_line_x_to_index): Set
char_trailing instead of trailing in one of too many paths. Should
have been a typo.
* pango/pangox.c (get_font_metrics_from_subfonts): Check for nullity
somewhere.
2006-04-10 10:33:17 +00:00
Behdad Esfahbod
b31d6def96
Update from HarfBuzz. Lars Knoll fixed all the warnings.
...
2006-04-06 Behdad Esfahbod <behdad@gnome.org>
* pango/opentype: Update from HarfBuzz. Lars Knoll fixed all the
warnings.
2006-04-06 18:23:49 +00:00
Behdad Esfahbod
ca57250bc9
Make sure TTAG_GDEF and frineds are defined, needed for FreeType <= 2.1.7
...
2006-04-03 Behdad Esfahbod <behdad@gnome.org>
* pango/opentype/harfbuzz-impl.h: Make sure TTAG_GDEF and frineds are
defined, needed for FreeType <= 2.1.7 (pointed by Tim Janik).
2006-04-03 20:13:17 +00:00
Behdad Esfahbod
f618288e00
.
2006-03-31 13:19:29 +00:00
Behdad Esfahbod
5f1f943b9e
.
2006-03-31 13:18:23 +00:00
Behdad Esfahbod
bce3e0b0d4
Define NULL.
2006-03-31 12:45:40 +00:00
Behdad Esfahbod
9f8da38cd1
Convert pango/opentype to the new project called HarfBuzz.
...
2006-03-31 Behdad Esfahbod <behdad@gnome.org>
Convert pango/opentype to the new project called HarfBuzz.
* pango/opentype/*: Restructured.
* pango/pango-ot-*: Updated to use HarfBuzz symbol names.
2006-03-31 12:28:09 +00:00
Behdad Esfahbod
dd2a8d4d49
Don't err on Table_Missing.
...
2006-03-25 Behdad Esfahbod <behdad@gnome.org>
* pango/opentype/ottest.c: Don't err on Table_Missing.
2006-03-25 23:52:30 +00:00
Behdad Esfahbod
434833b1b7
=== Released 1.12.0 ===
...
2006-03-13 Behdad Esfahbod <behdad@gnome.org>
* === Released 1.12.0 ===
* configure.in: Version 1.12.0
* NEWS, README: Updated.
2006-03-13 05:06:05 +00:00
Behdad Esfahbod
8228828e1e
Handle GSUB Lookup type 8, and ReverseChainContextualSubst table. (bug
...
2006-01-30 Behdad Esfahbod <behdad@gnome.org>
* pango/opentype/ftxgsub.c: Handle GSUB Lookup type 8,
and ReverseChainContextualSubst table. (bug #149696 ,
patch from Aamir Wali)
2006-01-30 22:37:48 +00:00
Behdad Esfahbod
e040f68196
Removed.
...
2006-01-28 Behdad Esfahbod <behdad@gnome.org>
* pango/opentype/pango-ot-*: Removed.
* pango/pango-ot-*: Added.
* pango/Makefile.am, pango/opentype/Makefile.am: Adjusted.
2006-01-28 20:29:18 +00:00
Behdad Esfahbod
f45689bc65
If major.minor of required and available glib versions are the same, add
...
2006-01-25 Behdad Esfahbod <behdad@gnome.org>
* configure.in: If major.minor of required and available glib versions
are the same, add -DG_DISABLE_DEPRECATED to GLIB_CFLAGS. (bug #328617 )
* */Makefile.am: Remove hardcoded -DG_DISABLE_DEPRECATED.
2006-01-25 19:33:58 +00:00
Behdad Esfahbod
6cc6c9a57c
Make sure #include <config.h> is the first include in the file. (bug
...
2006-01-14 Behdad Esfahbod <behdad@gnome.org>
* */*.c, */*/*.c: Make sure #include <config.h> is the first include
in the file. (bug #158870 , based on patch by Luis Menina)
2006-01-14 07:00:13 +00:00
Behdad Esfahbod
ca07fcf6ef
pango/Makefile.am, pango/fonts.c, pango/glyphstring.c,
...
2006-01-05 Behdad Esfahbod <behdad@gnome.org>
* pango/Makefile.am,
* pango/fonts.c,
* pango/glyphstring.c,
* pango/pango-attributes.c,
* pango/pango-color.c,
* pango/pango-impl-utils.h,
* pango/pango-item.c,
* pango/pango-layout.c,
* pango/pango-tabs.c,
* pango/pango-utils.c,
* pango/pango-utils.h,
* pango/pangoatsui-fontmap.c,
* pango/pangocairo-font.c,
* pango/pangocairo-fontmap.c,
* pango/pangofc-fontmap.c,
* pango/pangowin32-fontmap.c,
* pango/pangox-fontmap.c,
* pango/pangox.c,
* pango/opentype/pango-ot-info.c,
* pango/opentype/pango-ot-ruleset.c: Intern strings to avoid
unnecessary strdups in the type system. (bug #325832 , Matthias Clasen)
2006-01-05 16:14:49 +00:00
Behdad Esfahbod
71524f1bc8
Use g_slice for PangoOTBuffer allocation. (bug #325026 , Matthias Clasen)
...
2005-12-27 Behdad Esfahbod <behdad@gnome.org>
* pango/opentype/pango-ot-buffer.c: Use g_slice for PangoOTBuffer
allocation. (bug #325026 , Matthias Clasen)
2005-12-27 09:55:48 +00:00
Behdad Esfahbod
b5baa43d3a
Tiny doc improvement.
2005-11-25 09:22:02 +00:00
Behdad Esfahbod
6f64314f7a
Fix typo in docs.
...
2005-11-23 Behdad Esfahbod <behdad@gnome.org>
* pango/opentyp/pango-ot-buffer.c: Fix typo in docs.
2005-11-23 19:48:10 +00:00
Behdad Esfahbod
f2bcf72296
Added "Since:" tags to all interfaces added after Pango 1.0. ( #319116 ,
...
2005-11-23 Behdad Esfahbod <behdad@gnome.org>
* pango/fonts.c pango/pango-attributes.c pango/pango-context.c
pango/pango-glyph-item.c pango/pango-layout.c
pango/pango-script.c pango/pango-utils.c pango/pangofc-font.c
pango/pangoft2-fontmap.c pango/opentype/pango-ot-buffer.c
pango/opentype/pango-ot-ruleset.c: Added "Since:" tags to all
interfaces added after Pango 1.0. (#319116 , Brian Cameron)
2005-11-23 17:54:55 +00:00
Behdad Esfahbod
682db81c23
Protect against possible division by zeros ( #316468 , Steve Grubb)
...
2005-11-23 Behdad Esfahbod <behdad@gnome.org>
Protect against possible division by zeros (#316468 , Steve Grubb)
* pango/pango-context.c (update_metrics_from_items),
pango/pango-fontset.c (pango_fontset_real_get_metrics): If count is
zero, do not alter approximate_{char,digit}_width.
* pango/opentype/disasm.c: Err on invalid DeltaFormat.
2005-11-23 15:19:48 +00:00
Behdad Esfahbod
e6e15352d1
Reworked basic shaper with OpenType support. ( #101079 , based on patch from
...
2005-11-23 Behdad Esfahbod <behdad@gnome.org>
* modules/basic/basic-fc.c: Reworked basic shaper with OpenType
support. (#101079 , based on patch from Denis Jacquerye and Noah Levitt)
* modules/basic/basic-fc.c (basic_scripts): Added Unicode 4.1 addition
script PANGO_SCRIPT_GLAGOLITIC that is a "simple" script.
* modules/arabic/arabic-fc.c, modules/syriac/syriac-fc.c: Replace
g_utf8_to_ucs4_fast() with g_utf8_strlen()!
* pango/opentype/pango-ot-ruleset.c (pango_ot_ruleset_add_feature):
Remove reference in docs to pango_ot_ruleset_shape() that was
removed long ago.
2005-11-23 11:53:03 +00:00
Behdad Esfahbod
612b6cf609
Part of #101079 :
...
2005-11-17 Behdad Esfahbod <behdad@gnome.org>
Part of #101079 :
* pango/opentype/ftxopen.c (Load_Lookup): In extension subtables,
offset is relative to the extension subtable, not the original
table. (Greg Aumann)
* pango/opentype/ftxgpos.c (Load_BaseArray): When reading BaseAnchor,
skip offsets that are zero. Works around bug in Doulos SIL Regular.
2005-11-17 06:28:11 +00:00
Behdad Esfahbod
1b2c314b80
Remove debug line that got in accidentally.
...
2005-11-09 Behdad Esfahbod <behdad@gnome.org>
* pango/opentype/ftxgpos.c, pango/opentype/ftxopen.c: Remove debug
line that got in accidentally.
2005-11-09 23:30:00 +00:00
Behdad Esfahbod
9717127a5b
Turn various gcc warnings off. Adding const, adding static, fully
...
2005-11-04 Behdad Esfahbod <behdad@gnome.org>
* configure.in, examples/argcontext.c examples/cairoview.c,
examples/renderdemo.c, examples/renderdemo.h examples/xftview.c,
modules/basic/basic-x.c, modules/hangul/hangul-fc.c,
modules/hebrew/hebrew-shaper.c, modules/hebrew/hebrew-shaper.h,
modules/indic/indic-fc.c, modules/indic/mprefixups.c,
modules/syriac/syriac-fc.c, pango/break.c pango/fonts.c,
pango/modules.c, pango/pango-coverage.c pango/pango-engine.c,
pango/pango-engine.h, pango/pango-fontmap.c,
pango/pango-fontset.c, pango/pango-impl-utils.h,
pango/pango-layout.c, pango/pango-layout.h,
pango/pango-renderer.c, pango/pango-script.c,
pango/pango-utils.c, pango/pangocairo-fc.h,
pango/pangocairo-font.c, pango/pangocairo-fontmap.c,
pango/pangocairo-private.h, pango/pangofc-decoder.c,
pango/pangofc-font.c, pango/pangofc-fontmap.c pango/pangoft2.c,
pango/pangox-fontcache.c, pango/pangox-fontmap.c pango/pangox.c,
pango/pangoxft-font.c, pango/querymodules.c,
pango/opentype/ftglue.c, pango/opentype/ftxgpos.c,
pango/opentype/ftxopen.c, pango/opentype/pango-ot-buffer.c,
pango/opentype/pango-ot-info.c,
pango/opentype/pango-ot-ruleset.c, tests/dump-boundaries.c,
tests/testboundaries.c, tests/testcolor.c tests/testiter.c,
tests/testscript.c: Turn various gcc warnings off. Adding const,
adding static, fully initializing structs, match signedness in
comparisons. (#317804 )
* tests/testscript.c, tools/gen-script-for-lang.c:
(scripts_for_file): Pass error->message instead of error to fail(),
which was wrong.
(compare_lang): Fix typo comparing a and a instead of a and b.
2005-11-04 23:55:38 +00:00
Behdad Esfahbod
c0505f3bb2
Patches from #170414 . Reviewed by Matthias Clasen.
...
2005-11-03 Behdad Esfahbod <behdad@gnome.org>
Patches from #170414 . Reviewed by Matthias Clasen.
* pango/opentype/ftxgpos.c, pango/opentype/ftxgsub.c: Use call table
to dispatch different lookup types.
* pango/opentype/pango-ot-buffer.c, pango/opentype/pango-ot-ruleset.c:
Small cleanup.
2005-11-03 20:13:40 +00:00
Behdad Esfahbod
c6b22b9119
Generate valid XML output. Dump LookupFlag too.
...
2005-08-29 Behdad Esfahbod <pango@behdad.org>
* pango/opentype/ottest.c, pango/opentype/disasm.c: Generate valid
XML output. Dump LookupFlag too.
2005-08-29 10:06:40 +00:00
Behdad Esfahbod
1e3747ca5d
Replace perror with perror_. Remove FT_BEGIN_STMNT and FT_END_STMNT.
...
2005-08-15 Behdad Esfahbod <pango@behdad.org>
* pango/opentype/ftglue.h: Replace perror with perror_.
Remove FT_BEGIN_STMNT and FT_END_STMNT. (#313477 )
2005-08-15 04:16:04 +00:00
Owen Taylor
3c60250875
Skip lookups with lookup index out of range. (Patch from Behdad Esfahbod,
...
2005-07-26 Owen Taylor <otaylor@redhat.com>
* pango/opentype/ftxgsub.c, pango/opentype/ftxgpos.c: Skip lookups
with lookup index out of range. (Patch from Behdad Esfahbod, #171170 )
2005-07-26 18:33:27 +00:00
Owen Taylor
91a3fa2e4b
Remove an unecessary set of block2.
...
2005-07-22 Owen Taylor <otaylor@redhat.com>
* pango/opentype/ftglue.c (ftglue_realloc): Remove
an unecessary set of block2.
2005-07-22 18:03:58 +00:00
Owen Taylor
ff7034787d
Patch from David Turner. Review and testing by Behdad Esfahbod
...
2005-07-22 Owen Taylor <otaylor@redhat.com>
Patch from David Turner. Review and testing by Behdad Esfahbod
* pango/opentype/ftglue.[ch] Makefile.am: Glue layer that provides
implementation of the internal functions that the opentype code
expects in terms of publically exported FreeType API.
* pango/opentype/ftxgdef.c pango/opentype/ftxgpos.c
pango/opentype/ftxgsub.c pango/opentype/ftxopen.c
pango/opentype/otlbuffer.c pango/opentype/pango-ot-info.c
pango/opentype/pango-ot-ruleset.c: Remove includes of
internal headers. Small changes to work with ftglue.[ch]
* pango/opentype/fterrcompat.h: Remove: no longer needed.
* pango/opentype/ftxgpos.c: Use FT_IS_SFNT(face) rather
than poking at FT_MODULE_CLASS (face->driver)->module_name.
* pango/opentype/ftxopen.c (Free_FeatureList): Free
fl->ApplyOrder. (Found by Behdad)
2005-07-22 17:56:37 +00:00
Owen Taylor
43dbec6f3a
Fix up places where there is missing or incomplete Copyright and License
...
2005-07-21 Owen Taylor <otaylor@redhat.com>
Fix up places where there is missing or incomplete
Copyright and License information (Reported by William N. Ray)
* pango/opentype/fterrcompat.h: Mark as FreeType/GPL licensed.
* pango/opentype/FT-license.txt: Make this the dual-licensing
description that covers the FreeType code (FreeType's
LICENSE.TXT) rather than the FTL.
* pango/opentype/FTL.TXT: Move the FTL (referenced from
FT-license.txt) to here.
* modules/basic/basic-common.h modules/hebrew/hebrew-shaper.h
modules/thai/thai-charprop.c modules/thai/thai-shaper.h
tools/gen-script-for-lang.c tests/testcolor.c:
Add LGPL header and copyright information.
* modules/indic/indic-ot.[ch] modules/indic/indic-ot-class-tables.c
modules/thai/thai-ot.[ch]: Add LGPL header.
* modules/thai/thai-shaper.c modules/thai/thai-charprop.h:
Minor fixes to copyright information.
* modules/arabic/arabic-ot.c: Add Freetype license boilerplate.
2005-07-21 18:15:45 +00:00
Owen Taylor
c55850d36d
Chain up from finalize. ( #307547 , Paolo Borelli)
...
2005-06-14 Owen Taylor <otaylor@redhat.com>
* pango/opentype/pango-ot-info.c (pango_ot_info_finalize)
pango/opentype/pango-ot-ruleset.c (pango_ot_ruleset_finalize):
Chain up from finalize. (#307547 , Paolo Borelli)
* pango/opentype/pango-ot-info.c (pango_ot_info_finalizer):
make accidentally public function static.
2005-06-14 19:54:19 +00:00
Tor Lillqvist
44ff46a364
Rename LDADDS to libpango_ot_la_LIBADD to actually make libpango-ot.la
...
2005-04-12 Tor Lillqvist <tml@novell.com>
* pango/opentype/Makefile.am: Rename LDADDS to
libpango_ot_la_LIBADD to actually make libpango-ot.la link with
it.
* pango/pangowin32.def: Rename get_scale_factor to
get_metrics_factor here, too. (#300222 , Ivan Wong)
2005-04-12 01:27:21 +00:00
Owen Taylor
0c349a032e
For all binary searches, handle the case where the number of items is 0.
...
2005-03-03 Owen Taylor <otaylor@redhat.com>
* pango/opentype/ftxopen.c (Coverage_Index1, Coverage_Index2,
Get_Class2): For all binary searches, handle the case where
the number of items is 0. (#162977 , Nick Lamb)
* pango/opentype/ftxgdef.c (TT_GDEF_Build_ClassDefinition):
Handle the case where glyph_count == 0 properly. Fix a problem
with cleanups on memory allocation failure.
(Get_New_Count, Add_Glyph_Property): Avoid reading off the
end of the ClassRangeRecord array.
2005-03-03 19:38:02 +00:00
Owen Taylor
03838daaa9
Set G_LOG_DOMAIN.
...
Mon Nov 22 18:30:14 2004 Owen Taylor <otaylor@redhat.com>
* pango/opentype/Makefile.am pango/Makefile.am
modules/*/Makefile.am: Set G_LOG_DOMAIN.
2004-11-22 23:37:19 +00:00
Owen Taylor
346d3b3cac
Cleanups from 'sparse', #149922 , Kjartan Maraas
...
Wed Sep 22 14:07:47 2004 Owen Taylor <otaylor@redhat.com>
Cleanups from 'sparse', #149922 , Kjartan Maraas
* pango/pango-utils.c (read_config): () => (void) in
definition.
* pango/pangofc-fontmap.c (pango_fc_font_map_list_families):
Initialize *n_families, not n_families.
* pango/pangofc-fontmap.c pango/pangoft2.c opentype/ftxgdef.c
opentype/ftxgpos.c opentype/ftxgsub.c: : Fix various 0/NULL
confusion.
2004-09-22 18:14:55 +00:00
Owen Taylor
8b654dfb5a
=== Released 1.6.0 ===
...
Mon Sep 13 17:38:58 2004 Owen Taylor <otaylor@redhat.com>
* === Released 1.6.0 ===
* configure.in: Update versions for 1.6.0
* NEWS: Update.
* README: Minor tweak.
* pango/fonts.c pango/pango-context.c pango/pango-types.h
pango/pango-utils.c pango/pangoft2.c pango/pango-layout.c
pango/opentype/pango-ot-buffer.c: Add a bunch of missing
Since: 1.6.
2004-09-14 13:45:41 +00:00
Owen Taylor
d41089a5b6
Finish extending properties flags from FT_UShort => FT_UInt. (OTLBuffer
...
Fri Jul 30 17:17:05 2004 Owen Taylor <otaylor@redhat.com>
* pango/opentype/ftxgpos.[ch] pango/opentype/ftxgsub.[ch]
pango/opentype/ftxopen.[ch]: Finish extending properties
flags from FT_UShort => FT_UInt. (OTLBuffer was already
using an FT_UInt)
2004-07-30 21:23:04 +00:00
Owen Taylor
f42d5eca29
Save the order in which features were added and use that when applying
...
Tue Jul 27 12:38:05 2004 Owen Taylor <otaylor@redhat.com>
* pango/opentype/ftxopen.[ch] pango/opentype/ftxgsub.c
pango/opentype/ftxpos.c: Save the order in which
features were added and use that when applying features.
(Patch from Soheil Hassas Yeganeh, #122330 )
2004-07-27 17:20:01 +00:00
Behdad Esfahbod
ae2daa972d
Remove the unused parameter from the IN_CURITEM() and IN_CURGLYPH macros.
...
* pango/opentype/ftxgpos.c: Remove the unused parameter
from the IN_CURITEM() and IN_CURGLYPH macros.
2004-07-27 13:12:19 +00:00
Behdad Esfahbod
7d5435ea8c
Fix bug to copy glyph from in_string, not out_string.
...
* pango/opentype/otlbuffer.c (otl_buffer_copy_output_glyph):
Fix bug to copy glyph from in_string, not out_string.
2004-07-27 10:43:58 +00:00
Owen Taylor
2ea2a55bdf
Fix allocation and indexing in NewGlyphClasses array. ( #130661 , Masatake
...
Mon Jul 26 19:11:46 2004 Owen Taylor <otaylor@redhat.com>
* pango/opentype/ftxgdef.c: Fix allocation and indexing
in NewGlyphClasses array. (#130661 , Masatake YAMATO)
2004-07-26 23:14:53 +00:00
Owen Taylor
5d42695e5e
Remove the unused parameter from the IN_CURITEM() and IN_CURGLYPH macros.
...
Mon Jul 26 15:24:11 2004 Owen Taylor <otaylor@redhat.com>
* pango/opentype/ftxgsub.c (ADD_Glyph): Remove the
unused parameter from the IN_CURITEM() and IN_CURGLYPH
macros.
2004-07-26 19:25:45 +00:00
Owen Taylor
a00c4ea562
Add missing macro to make the last change actually compile.
...
Mon Jul 26 15:21:23 2004 Owen Taylor <otaylor@redhat.com>
* pango/opentype/ftxgsub.c: Add missing macro to make the
last change actually compile.
2004-07-26 19:23:06 +00:00
Owen Taylor
ed3e1f278d
Match backtrack context against the output glyphs not the input glyphs
...
Mon Jul 26 15:16:07 2004 Owen Taylor <otaylor@redhat.com>
* pango/opentype/ftxgsub.c (Lookup_ChainContextSubst[123]):
Match backtrack context against the output glyphs not
the input glyphs (#145174 , Aamir Wali)
2004-07-26 19:20:27 +00:00
Owen Taylor
78282cda00
Make Check_Property() take a OTL_GlyphItem, add a gproperties field to
...
Mon Jul 26 14:49:22 2004 Owen Taylor <otaylor@redhat.com>
* ftxgdef.[ch] otlbuffer.[ch]: Make Check_Property() take a
OTL_GlyphItem, add a gproperties field to OTLGlyphItem,
and use that to cache the properties for a glyph.
* ftxgsub.c ftxgdef.c: Adapt to Check_Property() changes.
* otlbuffer.[ch] ftxgsub.c: Add otl_buffer_copy_output_glyph()
to use when we are copying an unmodified glyph from input
to output that preserves the cached properties.
2004-07-26 18:59:02 +00:00
Owen Taylor
81b62af423
Add support for ChainContextSubstFormat3.
...
Mon Jul 19 17:09:11 2004 Owen Taylor <otaylor@redhat.com>
* pango/opentype/disasm.c: Add support for
ChainContextSubstFormat3.
2004-07-19 21:13:23 +00:00
Owen Taylor
d4f773ef92
Fix pervasive buffer overruns when skipping glyphs when matching contexts.
...
Mon Jul 19 16:29:45 2004 Owen Taylor <otaylor@redhat.com>
* pango/opentype/ftxgsub.c pango/opentype/ftxgpos.c:
Fix pervasive buffer overruns when skipping glyphs
when matching contexts. (#118592 , Kailash C. Chowksey)
2004-07-19 20:37:22 +00:00
Owen Taylor
99848cfafe
#143693 , Sayamindu Dasgupta
...
Wed Jun 23 16:13:53 2004 Owen Taylor <otaylor@redhat.com>
#143693 , Sayamindu Dasgupta
* pango/opentype/pango-ot-buffer.c (pango_ot_buffer_set_zero_width_marks) pango/opentype/pango-ot-private.h:
Allow setting for whether marks should be given zero width,
defaulting to FALSE.
* modules/arabic/arabic-fc.c (arabic_engine_shape): Turn
on zero-width-marks setting.
2004-06-23 20:33:35 +00:00
Owen Taylor
68d4cedb87
Use the gcc-3.3 strict-aliasing compatible macros from fterrcompat.h
...
Mon Jun 21 13:55:17 2004 Owen Taylor <otaylor@redhat.com>
* pango/opentype/otlbuffer.c: Use the gcc-3.3
strict-aliasing compatible macros from fterrcompat.h
(#140495 , reported by Stanislav Brabec)
2004-06-21 18:04:02 +00:00
Theppitak Karoonboonyanan
b327765176
Negate y offset according to different conventions between
...
* pango/opentype/pango-ot-buffer.c (apply_gpos_ltr): Negate y offset
according to different conventions between PangoGlyphString and OTL
(#142544 )
2004-05-28 16:41:36 +00:00
Owen Taylor
068763b547
Revert error return changes from last commit.
...
Thu May 27 17:54:24 2004 Owen Taylor <otaylor@redhat.com>
* pango/opentype/otlbuffer.c: Revert error return changes
from last commit.
2004-05-27 21:55:50 +00:00
Owen Taylor
ef07481025
Free buffer->positions, clean up error returns that were returning
...
Thu May 27 16:57:30 2004 Owen Taylor <otaylor@redhat.com>
* pango/opentype/otlbuffer.c: Free buffer->positions,
clean up error returns that were returning uninitialized
values. (#139239 , Behdad Esfahbod)
2004-05-27 21:03:42 +00:00
Owen Taylor
de568e7e62
=== Released 1.4.0 ===
...
Tue Mar 16 11:24:46 2004 Owen Taylor <otaylor@redhat.com>
* === Released 1.4.0 ===
* configure.in: Version 1.4.0, interface ago 0. Require
glib-2.4.0.
* NEWS: Updates.
* README: Some updates; include details about the FreeType
license of the OpenType code.
2004-03-16 19:23:43 +00:00
Hans Breuer
8b3554b3af
if PANGO_MODULE_PREFIX is defined include the basic backend shaper (should
...
2004-03-03 Hans Breuer <hans@breuer.org>
* pango/module-defs-win32.c.win32 : if PANGO_MODULE_PREFIX is
defined include the basic backend shaper (should have been
commited at 2003-12-12, too)
* pango/makefile.msc : generate correct type for PangoFontMask
(bug #135892 , John Ehresman)
* pango/opentype/makefile.msc : updated
* pango/pango.def pango/pangoft2.def : more updatd externals
2004-03-03 22:35:19 +00:00
Owen Taylor
a7e096c5de
Rework opentype interfaces and other changes to make GPOS work for Arabic.
...
Sun Feb 29 09:25:13 2004 Owen Taylor <otaylor@redhat.com>
Rework opentype interfaces and other changes to make GPOS
work for Arabic. (Most of #117282 , #121060 )
* pango/opentype/otlbuffer.[ch]: OTL_Buffer that
acts as a replacement for the separate GSUB and
GPOS string structures and hides many of the internal
details.
* pango/opentype/ftxgsub.[ch] pango/opentype/ftxgpos.[ch]:
Adapt to OTL_Buffer.
* pango/opentype/ftxgpos.c: Redo handling of cursive
chains so that it actually works.
* pango/pango-ot.h pango/opentype/pango-ot-buffer.c:
Pango wrapper around OTL_Buffer.
* pango/pango-ot.h pango/pango-ot-ruleset.c pango/pango-ot-buffer.c:
Split pango_ot_ruleset_shape() into pango_ot_ruleset_substitute(),
pango_ot_ruleset_position(), make them act on
PangoOTBuffer, add a separate pango_ot_buffer_output()
which does the default positioning and writes to a
PangoGlyphString.
* modules/arabic/arabic-fc.c modules/indic/indic-fc.c
modules/indic/mprefixups.[ch]: Adapt to new OpenType
interfaces; add GPOS features for Arabic.
* pango/opentype/pango-ot-info.c: Don't derive class information
from Unicode properties for Arabic presentation forms,
let the shaping process derive the properties.
2004-02-29 15:44:50 +00:00
Owen Taylor
d670ddf991
Sign convention for y offsets is opposite between PangoGlyphString and FT
...
Sat Feb 21 09:49:23 2004 Owen Taylor <otaylor@redhat.com>
* pango/opentype/pango-ot-ruleset.c (pango_ot_ruleset_shape):
Sign convention for y offsets is opposite between
PangoGlyphString and FT code. (#132591 )
2004-02-21 14:53:12 +00:00
Owen Taylor
b9b3c131c2
Memory leak fixes from Masatake YAMATO, #130652
...
Fri Feb 13 10:54:18 2004 Owen Taylor <otaylor@redhat.com>
Memory leak fixes from Masatake YAMATO, #130652
* pango/opentype/ftxgdef.c (TT_Done_GDEF_Table):
Free the gdef table as well as the contained data.
* pango/opentype/ftxgdef.c (TT_GDEF_Build_ClassDefinition):
Set gcd->loaded, so that the contents get freed later.
2004-02-13 16:11:40 +00:00
Owen Taylor
926b8f3229
Suport CFF fonts as well. ( #131202 , Manjunath Sripadarao)
...
Mon Jan 26 14:20:34 2004 Owen Taylor <otaylor@redhat.com>
* pango/opentype/pango-ot-info.c (is_truetype): Suport
CFF fonts as well. (#131202 , Manjunath Sripadarao)
2004-01-26 19:23:35 +00:00
Hans Breuer
945e479a3a
moved pango_fc_* to the latter where they live on *nix too.
...
2003-12-13 Hans Breuer <hans@breuer.org>
* pango/pango.def pangoft2.def : moved pango_fc_*
to the latter where they live on *nix too.
* pango/makefile.msc : make it build again (including
the Ft2 backend)
* pango/module-defs-fc.c.win32 : if PANGO_MODULE_PREFIX is defined
include the basic backend shaper
* pango/pangowin32.c (pango_win32_render_layout) :
initialize iter before first usage to avoid immediate crashing
* pango/opentype/makefile.msc
pango/modules/makefile.msc : finally build with mscv, too.
[completely untested cause I'm not able to type, write or read
any of these languages]
* modules/modules.def : follow module function renaming/changes
* modules/basic/basic-win32.c : register the right engine, i.e.
make it compile
2003-12-13 14:31:50 +00:00
Owen Taylor
ba0ccd5cfc
Switch over to recommended Freetype system of include ft2build.h then
...
Sat Nov 1 09:32:15 2003 Owen Taylor <otaylor@redhat.com>
* pango/pango-ot.h pango/pangofc-font.h modules/indic/indic-ot.h
pango/pangoft2.c pango/opentype/pango-ot-info.c
pango/opentype/pango-ot-ruleset.c pango/opentype/ottest.c
pango/opentype/ftxopen.[ch] pango/opentype/ftxgdef.c
pango/opentype/ftxgsub.c pango/opentype/ftxgpos.c:
Switch over to recommended Freetype system of
include ft2build.h then #include FT_FREETYPE_H.
Fixes ftmodule.h problem with current Freetype CVS.
(#125548 )
2003-11-01 15:02:17 +00:00
Owen Taylor
558171a7a3
Fix gcc-3.3 versions of macros to have the right return value.
...
Mon Sep 15 17:16:59 2003 Owen Taylor <otaylor@redhat.com>
* pango/opentype/fterrcompat.h: Fix gcc-3.3 versions of
macros to have the right return value.
2003-09-15 22:04:55 +00:00
Owen Taylor
c99259bf7e
pango/opentype/ftxgsub.c (Lookup_ChainContextSubst3) Fix problems where
...
Mon Aug 25 10:17:21 2003 Owen Taylor <otaylor@redhat.com>
* pango/opentype/ftxgsub.c (Lookup_ChainContextSubst3)
* pango/opentype/ftxgpos.c (Lookup_ChainContextPos3):
Fix problems where the coverage wasn't being checked
for the first input glyph. (#118639 , Kailash C. Chowksey)
2003-08-25 14:30:12 +00:00
Owen Taylor
bcf81bcc80
Add some macro definitions for gcc-3.3 that suppress the bogus
...
Fri Aug 22 18:09:52 2003 Owen Taylor <otaylor@redhat.com>
* pango/opentype/fterrcompat.h: Add some macro definitions
for gcc-3.3 that suppress the bogus strict-aliasing
warnings.
* pango/pango-utils.c (read_config_file): Use
g_hash_table_new_full() to simplify code and fix
gcc-3.3 warnings.
* pango/pangox-fontmap.c (pango_x_real_get_coverage_win)
* pango/querymodules.c (query_module): Suppress gcc-3.3
warnings.
* pango/modules.c (pango_find_map): Fix warning from
missing declaration of pango_module_get_type().
* pango/pango-context.c/pango-engine.c: Fix name confusion
for pango_get_fallback_shaper().
2003-08-22 22:52:08 +00:00
Owen Taylor
46d379596d
Rewrite handling of IGNORE_SPECIAL_MARKS to be properly "ignore marks of
...
Tue Jul 29 09:58:13 2003 Owen Taylor <otaylor@redhat.com>
* pango/opentype/ftxgdef.c (Check_Property): Rewrite
handling of IGNORE_SPECIAL_MARKS to be properly
"ignore marks of attachment type different than
specified. (#118456 , Kailash C. Chowksey)
2003-07-29 14:21:54 +00:00
Owen Taylor
8247acad79
Revert back out the FreeType patch preventing ligatures of not-originally
...
Sat Jul 26 09:41:22 2003 Owen Taylor <otaylor@redhat.com>
* pango/opentype/ftxgsub.c (Lookup_LigatureSubst):
Revert back out the FreeType patch preventing
ligatures of not-originally adjacent glyphs;
it doesn't work for all scripts. (#118472 ,
Kailash C. Chowksey)
2003-07-28 22:28:37 +00:00
Owen Taylor
825e6d7e86
Check for lookahead glyphs in the right place. (Patch from #116860 )
...
Sat Jul 26 22:30:59 2003 Owen Taylor <otaylor@redhat.com>
* pango/opentype/ftxgsub.c (Lookup_ChainContextSubst{1,2,3}):
Check for lookahead glyphs in the right place. (Patch
from #116860 )
* pango/opentype/ftxgpos.c (Lookup_ChainContextPos{1,2,3}):
Same fix here.
2003-07-27 02:40:31 +00:00
Owen Taylor
03a0fe09c7
Fix return value to only contain TTO_Err_Not_Covered if *no* lookups
...
Sat Jul 26 22:12:46 2003 Owen Taylor <otaylor@redhat.com>
* pango/opentype/ftxgsub.c (Do_String_Lookup,
TT_GSUB_Apply_String): Fix return value to only
contain TTO_Err_Not_Covered if *no* lookups
matched. Fix memory leaks on error in Apply_String().
2003-07-27 02:19:52 +00:00
Owen Taylor
e10ea2afd9
Fix confusion between boolean and FT_Error return. (GSUB equivalent of fix
...
Sat Jul 26 21:06:26 2003 Owen Taylor <otaylor@redhat.com>
* pango/opentype/ftxgsub.c (Load_EmptyOrClassDefinition):
Fix confusion between boolean and FT_Error return.
(GSUB equivalent of fix for #108358 )
2003-07-27 01:10:15 +00:00
Owen Taylor
a7305ab262
Move allocation afer initial checks, fixing memory leak.
...
Sat Jul 26 10:52:20 2003 Owen Taylor <otaylor@redhat.com>
* pango/opentype/ftxgpos.c (Lookup_ContextPos2):
* pango/opentype/ftxgsub.c (Lookup_ContextSubst2): Move
allocation afer initial checks, fixing memory leak.
* pango/opentype/ftxgsub.c (Lookup_ChainContextSubst2):
Fix some more error return memory leaks that weren't
fixed in the Qt changes.
2003-07-26 15:02:13 +00:00
Owen Taylor
f40b7c15e0
Fix various memory leaks from error returns that should have been jumps to
...
Sat Jul 26 10:43:20 2003 Owen Taylor <otaylor@redhat.com>
* pango/opentype/ftxgsub.c pango/opentype/ftxgpos.c:
Fix various memory leaks from error returns that should
have been jumps to cleanup blocks. (From Qt, Lars Knoll)
2003-07-26 14:50:23 +00:00
Owen Taylor
256d219707
Fix additional places where TTO_Err_Not_Covered wasn't considered a
...
Sat Jul 26 10:30:24 2003 Owen Taylor <otaylor@redhat.com>
* pango/opentype/ftxgpos.c: Fix additional places where
TTO_Err_Not_Covered wasn't considered a successful return
from Get_Class. (From Qt, Lars Knoll)
2003-07-26 14:35:29 +00:00
Owen Taylor
374960681e
If applying a ligature lookup makes adjacent two glyphs that were not
...
Sat Jul 26 09:41:22 2003 Owen Taylor <otaylor@redhat.com>
* pango/opentype/ftxgsub.c (Lookup_LigatureSubst):
If applying a ligature lookup makes adjacent two glyphs
that were not originally adjacent, avoid making
subsequent ligatures between those glyphs.
(From FreeType, Werner Lemberg, 2001-08-22, 2001-08-23)
2003-07-26 13:50:23 +00:00
Owen Taylor
b682482df7
Fix some FreeType1 variable declarations that snuck in from the last
...
Sat Jul 26 09:16:57 2003 Owen Taylor <otaylor@redhat.com>
* pango/opentype/ftxgpos.c pango/opentype/ftxopen.c:
Fix some FreeType1 variable declarations that snuck
in from the last commits (Christophe Fergeau,
118363)
2003-07-26 13:20:52 +00:00
Owen Taylor
06c12109de
OpenType-1.4 update: backtrack information is stored with the item closest
...
Fri Jul 25 23:38:07 2003 Owen Taylor <otaylor@redhat.com>
* pango/opentype/ftxgpos.c pango/opentype/ftxgsub.c:
OpenType-1.4 update: backtrack information is stored with the
item closest to the input first (From FreeType,
Werner Lemberg, 2002-09-26)
2003-07-26 03:45:44 +00:00
Owen Taylor
15a69e4a12
Update of GPOS and GSUB support to OpenType 1.3 (From FreeType, Werner
...
Fri Jul 25 23:07:06 2003 Owen Taylor <otaylor@redhat.com>
Update of GPOS and GSUB support to OpenType 1.3
(From FreeType, Werner Lemberg, 2001-08-08)
* pango/opentype/ftxopen.h: Add RIGHT_TO_LEFT LookupFlag
* pango/opentype/ftxgpos.c (GPOS_Instance): Add 'first'
member to mark the beginning of a chain of cursive connections.
* pango/opentype/ftxgpos.c (Do_String_Lookup): If the
RIGHT_TO_FLAG flag is set, shift cursive chain up so
last glyph is on the baseline.
2003-07-26 03:14:23 +00:00
Owen Taylor
6f74f18b77
Add GPOS_LOOKUP_EXTENSION, GSUB_LOOKUP_EXTENSION, which allow lookup
...
Fri Jul 25 22:59:13 2003 Owen Taylor <otaylor@redhat.com>
* pango/opentype/ftx{gpos,gsub}.h pango/opentype/ftxgdef.c:
Add GPOS_LOOKUP_EXTENSION, GSUB_LOOKUP_EXTENSION, which
allow lookup information to be stored at 32-bit offets
via a double indirection. (From FreeType, Werner Lemberg,
2001-08-08)
2003-07-26 03:03:40 +00:00
Owen Taylor
375781c454
Fix a couple of places where TTO_Err_Not_Covered wasn't considered a
...
Fri Jul 25 22:25:48 2003 Owen Taylor <otaylor@redhat.com>
* pango/opentype/ftxgsub.c (Lookup_ContextSubst2,
Lookup_ChainContextSubst2): Fix a couple of
places where TTO_Err_Not_Covered wasn't considered
a successful return from Get_Class -- it means
use class index 0. (From FreeType, Werner Lemberg,
2001-08-06)
2003-07-26 02:44:19 +00:00
Owen Taylor
378e1889cd
Improvements to OpenType-dumping code, based on changes in Qt by Lars
...
Fri Jul 25 20:12:00 2003 Owen Taylor <otaylor@redhat.com>
Improvements to OpenType-dumping code, based on
changes in Qt by Lars Knoll.
* pango/opentype/ottest.c: Tweak the debugging output,
suppress some warnings.
* pango/opentype/disasm.c: Add support for
GSUB Context/Chain GPOS MarkBase lookups, improve
output in various ways.
2003-07-26 02:10:42 +00:00
Owen Taylor
07bad0e77c
Fix uses of g_assert() around statements with side effects. ( #115498 ,
...
Thu Jul 24 17:04:21 2003 Owen Taylor <otaylor@redhat.com>
* pango/opentype/pango-ot-ruleset.c (pango_ot_ruleset_shape):
Fix uses of g_assert() around statements with side effects.
(#115498 , patch from David Cuthbert)
2003-07-24 21:05:29 +00:00
Owen Taylor
f91deef2c9
More careful handling of face->charmap; if is NULL, try to set a unicode
...
Wed Apr 16 03:46:42 2003 Owen Taylor <otaylor@redhat.com>
* pango/opentype/pango-ot-info.c (synthesize_class_def):
More careful handling of face->charmap; if is NULL,
try to set a unicode charmap, if that doesn't succeed,
return. (Hopefully fixes #106550 )
2003-04-16 21:48:29 +00:00
Owen Taylor
587b3940f3
When loading in Load_Chain{Sub,Pos}ClassRule, the limit we have only
...
Tue Apr 15 11:49:39 2003 Owen Taylor <otaylor@redhat.com>
* pango/opentype/ftxg{sub/pos}.c: When loading
in Load_Chain{Sub,Pos}ClassRule, the limit we
have only applies to the input ClassDef table.
Fixes problem with Arial Unicode. Much help from
Noah Levitt in tracing this down.
2003-04-16 03:58:17 +00:00
Owen Taylor
0d7567f8ea
Fix mispelled constant from last commit.
...
Tue Apr 15 06:57:02 2003 Owen Taylor <otaylor@redhat.com>
* pango/opentype/ftxgpos.c: Fix mispelled constant
from last commit.
2003-04-15 23:01:19 +00:00
Owen Taylor
73cd600798
Fix confusion between boolean and FT_Error return. ( #108358 , Noah Levitt)
...
Tue Apr 15 06:03:39 2003 Owen Taylor <otaylor@redhat.com>
* pango/opentype/ftxgpos.c: Fix confusion between
boolean and FT_Error return. (#108358 , Noah Levitt)
* pango/opentype/ftxopen.c (Get_Class1): index is
allowed to be NULL. (#108358 , Noah Levitt)
2003-04-15 22:15:41 +00:00
Owen Taylor
462bd0be60
Fix infinite loop in the case where the charmap contains a character >
...
Tue Apr 15 05:00:39 2003 Owen Taylor <otaylor@redhat.com>
* pango/opentype/pango-ot-info.c (synthesize_class_def):
Fix infinite loop in the case where the charmap contains
a character > 65535. (#106550 , Morten Welinder.)
2003-04-15 21:05:53 +00:00
James Henstridge
312e1c1cf9
make similar changes to the ones on glib head (call gtk-docize, etc).
...
2003-03-11 James Henstridge <james@daa.com.au>
* autogen.sh: make similar changes to the ones on glib head (call
gtk-docize, etc).
* configure.in: move some calculations into M4 macros, rather than
calculating them when configure runs.
Use AC_HELP_STRING where appropriate.
Replace gtk-doc checks with a call to GTK_DOC_CHECK.
Replace AC_OUTPUT_COMMANDS() call with a number of calls to
AC_CONFIG_COMMANDS (once per created file).
Get rid of the "chmod +x pango-config" bit, because there is no
pango-config anymore.
* Makefile.am: get rid of custom distcheck rule, and set
DISTCHECK_CONFIGURE_FLAGS, which is equivalent.
Use += to select which .pc files to install.
* pango/Makefile.am: Add rules to rebuild module-defs* files, and
remove them on clean.
Reorder so that rules related to each individual library are next
to each other.
Use BUILT_SOURCES for built sources.
* pango/opentype/Makefile.am: don't use STRIP_BEGIN/STRIP_END.
* modules/*/Makefile.am: simplify module makefiles through use of
+=, and regularise them a bit (fixed a few bugs in the process).
* docs/Makefile.am: remove common rules, and instead include
gtk-doc.make.
* examples/Makefile.am: add pango.modules to CLEANFILES.
* tests/Makefile.am: remove temporary files on clean.
2003-03-11 12:31:16 +00:00
Owen Taylor
1aad15fd0c
Add an --enable-debug configure argument defaulting to 'yes' for unstable
...
Mon Feb 17 13:06:39 2003 Owen Taylor <otaylor@redhat.com>
* configure.in **/Makefile.am: Add an --enable-debug
configure argument defaulting to 'yes' for unstable
releases and 'minimum' for stable releases.
For minimum, -DG_DISABLE_CAST_CHECKS.
* pango/pangofc-fontmap.cI pango/pangoft2-fontmap.c
pango/pangoxft-fontmap.c: Add caching of fontsets
(#104495 , initial patch and review by Soeren Sandmann)
* pango/pangofc-fontmap.cI pango/pangoft2-fontmap.c
pango/pangoxft-fontmap.c pango/pangoft2-private.h
pango/pangoxft-private.h: Remove cache of recently freed
fonts; not necessary now that we cache fontsets.
* pango/pangofc-fontmap.cI (pango_fc_pattern_set_free):
Rename from pango_fc_font_set_free to reflect
what it actually does.
* pango/pangofc-fontmap.cI pango/pangoft-fontmap.c
pango/pangoxft-fontmap.c: Combine clear-the-cache
functions; we didn't need separate clear-the-font-cache
and clear-the-pattern-cache functions.
2003-02-17 22:04:29 +00:00
Owen Taylor
5febce1ffc
Up the FreeType version requirement to 2.0.9. (2.2.1 had a compilation
...
Wed Feb 12 16:59:23 2003 Owen Taylor <otaylor@redhat.com>
* configure.in pango/opentype/fterrcompat.h README:
Up the FreeType version requirement to 2.0.9.
(2.2.1 had a compilation failure with older versions,
this catches it more cleanly, and removes some unneeded
checks. #105302 , problem reported by Will Partain.)
2003-02-12 22:12:55 +00:00
Owen Taylor
54e85cc0cf
Export TT_New_GDEF_Table to create an empty GDEF table.
...
Fri Jan 10 18:56:36 2003 Owen Taylor <otaylor@redhat.com>
* pango/opentype/ftxgdef.c: Export TT_New_GDEF_Table
to create an empty GDEF table.
* pango/opentype/pango-ot-info.c: If the font doesn't
have a class definition table, synthesize one using
the charmap and the unicode properties of characters
in the charmap. (Needed to make things work with various
old Arabic fonts, such as the KACST fonts)
2003-01-11 00:16:26 +00:00
Matthias Clasen
db6bb4b034
Add docs.
...
* docs/tmpl/xft-fonts.sgml:
* docs/tmpl/freetype-fonts.sgml: Add docs.
* pango/pangoxft-fontmap.c (pango_xft_substitute_changed):
* pango/pangoft2-fontmap.c
(pango_ft2_font_map_set_default_substitute):
Fix doc typos.
2002-11-28 23:53:18 +00:00
Sebastian Wilhelmi
226d9b67db
Do not add GLIB_CFLAGS to CFLAGS.
...
2002-11-26 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
* configure.in: Do not add GLIB_CFLAGS to CFLAGS.
* docs/Makefile.am, examples/Makefile.am,
modules/arabic/Makefile.am, modules/basic/Makefile.am,
modules/hangul/Makefile.am, modules/hebrew/Makefile.am,
modules/indic/Makefile.am, modules/tamil/Makefile.am,
modules/thai/Makefile.am, pango/Makefile.am,
pango/mini-fribidi/Makefile.am, pango/opentype/Makefile.am:
Instead add $(GLIB_CFLAGS) directly to INCLUDES (GTKDOC_CFLAGS for
docs/Makefile.am). Also some cosmetic line wrapping and
reindentation.
2002-11-26 13:37:10 +00:00
Manish Singh
80634a30b9
Get rid of unnecessary casts for g_object_{ref,unref}
...
Mon Oct 14 15:39:41 2002 Manish Singh <yosh@gimp.org>
* pango/pango-context.c pango/pango-layout.c pango/pangoft2.c
pango/pangowin32-fontmap.c pango/pangowin32.c pango/pangox-fontmap.c
pango/pangox.c pango/pangoxft-font.c pango/pangoxft-fontmap.c
pango/testfonts.c pango/opentype/pango-ot-ruleset.c:
Get rid of unnecessary casts for g_object_{ref,unref}
2002-10-14 22:50:48 +00:00
Owen Taylor
741993e0b1
ligatures can be also used in MarkBasePos lookups. (2001-03-17 Werner
...
Sun Sep 29 14:55:36 2002 Owen Taylor <otaylor@redhat.com>
* pango/opentype/ftxgpos.c: ligatures can be also used in
MarkBasePos lookups. (2001-03-17 Werner Lemberg)
2002-09-29 19:06:58 +00:00
Owen Taylor
a35dc445e8
Start of merges from freetype1 of OpenType fixes.
...
Sun Sep 29 14:51:25 2002 Owen Taylor <otaylor@redhat.com>
Start of merges from freetype1 of OpenType fixes.
(2001-03-17 Werner Lemberg)
* pango/opentype/ftxgdef.c pango/opentype/ftxgpos.c pango/opentype/ftxg\sub.c:
More fixes for special marks.
2002-09-29 19:05:01 +00:00
Tor Lillqvist
5c53f14f37
Remove. Not used. (A static library is built here. Exported entries are in
...
2002-09-24 Tor Lillqvist <tml@iki.fi>
* pango/opentype/pango-ot.def: Remove. Not used. (A static library
is built here. Exported entries are in ../pangoft2.def.)
* pango/opentype/Makefile.am (EXTRA_DIST): Remove from here, too.
2002-09-23 21:45:31 +00:00
Tor Lillqvist
35e4593ccd
pango/makefile.mingw.in pango/mini-fribidi/makefile.mingw Remove. Not
...
2002-09-23 Tor Lillqvist <tml@iki.fi>
* pango/makefile.mingw.in
* pango/mini-fribidi/makefile.mingw
* pango/opentype/makefile.mingw.in: Remove. Not maintained.
* pango/Makefile.am (EXTRA_DIST)
* pango/mini-fribidi/Makefile.am (EXTRA_DIST)
* pango/opentype/Makefile.am (EXTRA_DIST): Remove
makefile.mingw(.in) from here, too.
* configure.in (AC_OUTPUT): Don't try to output above removed
files.
2002-09-23 21:19:30 +00:00
Eric Mader
fb279cb0bf
Correctly handle back, new_advance.
2002-09-09 18:11:55 +00:00
Eric Mader
c880e814a5
Don't fail when reading an empty script.
2002-09-06 22:45:23 +00:00
Owen Taylor
441e7d0292
Offset to MarkAttachClassDef is offset to table, not offset to offset to
...
Wed Aug 7 12:32:39 2002 Owen Taylor <otaylor@redhat.com>
* pango/opentype/ftxgsub.c (TT_Load_GSUB_Table):
Offset to MarkAttachClassDef is offset to table,
not offset to offset to table.
* pango/opentype/ftxopen.c (Get_Device): Handle
NULL device tables which we represent with
d->DeltaValue == NULL.
2002-08-07 17:01:52 +00:00
Owen Taylor
48a16fa809
on Jun 3 18:56:09 2002 Owen Taylor <otaylor@redhat.com>
...
Xft2 and fontconfig conversion, based largely on a patch
from Keith Packard.
* configure.in acconfig.h: Add checks for fontconfig, switch
Xft checks to switch for Xft2 using pkg-config.
* pangoxft.pc.in pangoxft.pc.in
modules/{arabic,basic,hebrew,indic,tamil}/Makefile.am
pango/Makefile.am: Reflect new Xft/fontconfig dependencies.
* pango/pangoxft-private.h pango/pangoxft-fontmap.c
modules/arabic/arabic-xft.c modules/indic/indic-xft.c:
Switch over to using Xft2 and fontconfig.
* pango/pangoft2.c pango/pangoft2-fontmap.c pango/pangoft2-private.h
pango/pango/Makefile.am: Remove usage of mini-xft in
favor of fontconfig.
* pango/pango-ot.h pango/opentype/pango-ot-info.c pango/pangoxft.h
modules/arabic/arabic-{xft,ft2}.c modules/indic/indic-xft.c:
Attach OpenType information directly to the FT_Face
structure using FT_Generic.
* modules/tamil/Makefile.am modules/tamil/tamil-xft.c
configure.in: Remove this module, no longer needed.
* pango/pangoxft-font.c (pango_xft_real_render): Coalesce
calls to Xft rendering functions.
2002-06-04 00:20:51 +00:00
Owen Taylor
9df9af0b36
Fix acess outside of a loaded frame and some memory leaks on failure.
...
Fri May 10 14:41:27 2002 Owen Taylor <otaylor@redhat.com>
* pango/opentype/ftxgdef.c (TT_Load_GDEF_Table): Fix acess
outside of a loaded frame and some memory leaks
on failure.
2002-05-10 18:44:47 +00:00
Eric Mader
a63dbbbeeb
Add modules modules/indic/indic-xft.c, indic-ot.c, indic-ot.h,
...
Mon May 06 15:07:39 2002 Eric Mader <mader@jtcsv.com>
* Add modules modules/indic/indic-xft.c, indic-ot.c, indic-ot.h, indic-ot-class-tables.c
* pango/opentype/ftxgdef.c: Compute full offset for mark attachment class table
* pango/opentype/ftxgpos.c: Only return TTO_Err_Not_Covered if nothing matches
* pango/opentype/pango-ot-ruleset.c: enable GPOS processing
2002-05-07 20:39:14 +00:00
Owen Taylor
cf00f8217c
Add compatibility defines for changes in FreeType 2.1.0.
...
Tue Apr 23 16:15:07 2002 Owen Taylor <otaylor@redhat.com>
* pango/opentype/fterrcompat.h: Add compatibility
defines for changes in FreeType 2.1.0.
2002-04-23 20:20:29 +00:00
Owen Taylor
6b1b04e373
In Load_ChainContextSubst2, handle the case where an empty class
...
Fri Mar 15 01:35:56 2002 Owen Taylor <otaylor@redhat.com>
* pango/opentype/ftxgsub.c pango/opentype/ftxopen.c
pango/opentype/ftxopenf.h: In Load_ChainContextSubst2,
handle the case where an empty class definition
is represented by an offset of 0.
* pango/opentype/ftxgpos.c: Same for Load_ChainContextPos2.
* pango/opentype/{ftxopen.c,ftxgpos.c,ftxgsub.c,ftgdef.c}:
Fix pervasive bug where on cleanups on failure of loading
an array element, all array elements were freed, not
just the ones that had been succesfully loaded.
2002-03-15 06:46:05 +00:00
Owen Taylor
6050933f33
Uncomment GPOS parts.
...
Thu Mar 14 23:05:18 2002 Owen Taylor <otaylor@redhat.com>
* pango/opentype/ftxopen.c: Uncomment GPOS parts.
* pango/opentype/disasm.c: Start adding some GPOS
dumping.
2002-03-15 04:22:14 +00:00
Sebastian Wilhelmi
973bd60a25
Resuming aborted commit
...
Resuming aborted commit
2001-12-13 17:44:46 +00:00
Matthias Clasen
6926ca9425
Remove declarations of unimplemented functions
...
* docs/pango-sections.txt, pango/pango-ot.h: Remove declarations
of unimplemented functions pango_ot_ruleset_set_glyph_loader and
pango_ot_ruleset_set_alternate_func and the related typedefs
PangoOTGlyphLoader and PangoOTAlternateFunc.
* pango/opentype/pango-ot-info.c,
pango/opentype/pango-ot-ruleset.c: Documentation updates.
2001-10-30 22:09:20 +00:00
Havoc Pennington
87a475c09f
header to abstract the difference between FreeType 2.0.3 and 2.0.4 error
...
2001-09-19 Havoc Pennington <hp@redhat.com>
* pango/opentype/fterrcompat.h: header to abstract the difference
between FreeType 2.0.3 and 2.0.4 error codes, based on the
configure check.
* configure.in: check for the tterrors.h header in FreeType 2.0.3,
and define HAVE_FREETYPE_2_0_3 if we have it
2001-09-19 21:20:36 +00:00
Owen Taylor
9c37226efe
Up to 0.19.
...
Tue Sep 18 15:47:08 2001 Owen Taylor <otaylor@redhat.com>
* configure.in (PANGO_MINOR_VERSION): Up to 0.19.
* pango/pango-font.h pango/pango-fontmap.[ch] pango/fonts.c
pango/pangoxft-fontmap.c pango/pangoft-fontmap.c pango/pango-context.[ch]
pango/pangox-fontmap.c: Add new PangoFontFace and PangoFontFamily
object types, and change the font listing API to list faces and
families, instead of face names and font descriptions.
* pango/pango-font.h pango/fonts.c: Make PangoFontDescription
an opaque heap-allocated structure, add accessors and
convenience functions.
* pango/pango-font.h pango/pango-private.h: Make PangoFontMetrics
heap allocated, protect the structure definition with
#ifdef PANGO_ENABLE_BACKEND, and add getters for the fields.
* pango/pango-attributes.[ch] ( pango_attr_iterator_get_font):
instead of providing a base font description and one to fill
in, provide a single font description to modify based on
the attributes.
* pango/pango-attributes.[ch]: Fix PangoAttrFontDesc to have
a PangoFontDescription by reference, not by value.
* pango/pango-utils.[ch]: make pango_parse_style() and friends
take pointers to individual enumerations instead of to a
PangoFontDescription structure.
* pango/*.c: Fix for the PangoFontDescription and PangoFontMetrics
changes.
* pango/pango-{break,engine,indic,ot,xft}.h pango/Makefile.am
pango/opentype/Makefile.am: Protect portions with
PANGO_ENABLE_ENGINE to shrink the public API.
* modules/*/Makefile.am: -DPANGO_ENABLE_ENGINE.
* pango/{pangox.h,pangox-private.h} modules/basic/basic-x.c: Move
pango_x_font_get_unknown_glyph() into public header since it is
used from modules.
* pango/pango-{context,font,fontmap,modules.utils}.h pango/Makefile.am:
Protect portions with PANGO_ENABLE_BACKEND to shrink the public API.
* pango/*.h: Use G_BEGIN/END_DECLS
* examples/viewer-qt.[cc,h]: Fix for changes to font listing API,
PangoFontDescription.
* pango/pango-indic.h modules/indic/*: Since we install this
header fix it up to Pango conventions, namespece
ZERO_WIDTH_JOINER, ZERO_WIDTH_NON_JOINER.
* docs/pango-sections.txt: Updated.
2001-09-18 20:05:20 +00:00
Darin Adler
7dd0838863
Remove stray semicolon.
...
* modules/arabic/arabic-x.c: (arabic_engine_shape): Remove stray
semicolon.
* modules/arabic/arconv.h:
* modules/arabic/arconv.c: (shape), (doublelig), (arabic_reshape):
Use long* instead of int* for parameter to match what's passed in.
* modules/indic/bengali-x.c: Add missing <string.h> include.
(pango_indic_make_ligs): Use local variable that was added but not
ever used.
(pango_indic_engine_shape): Remove unused locals.
* modules/indic/devanagari-x.c: Add missing <string.h> include.
(pango_indic_engine_shape): Remove unused local.
* modules/indic/gujarati-x.c: Add missing <string.h> include.
(pango_indic_engine_shape): Remove unused local
* modules/tamil/tamil-x.c: (tamil_engine_shape): Initialize a
variable to quiet the compiler's unused warning.
* pango/.cvsignore: Ignore more generated files.
* pango/opentype/ftxgpos.c: (Get_Anchor): Add code to set up the
ap variable. The old code would just use the uninitialized value.
* pango/opentype/ftxopen.c: (Load_Coverage): Remove unused local.
* pango/opentype/pango-ot-ruleset.c: (pango_ot_ruleset_shape):
Remove unused local.
* pango/pango-attributes.c: (pango_attr_list_get_type),
(pango_color_get_type): Add needed function type casts (just
warnings under gcc, but could be errors in other compilers).
* pango/pangoxft-font.c: (pango_xft_font_get_metrics),
(pango_xft_font_get_coverage), (pango_xft_get_shaper_map),
(pango_xft_font_find_shaper): Switch from lang char* to
PangoLanguage*. The code was still compiling, but would not have
worked.
2001-07-12 16:34:40 +00:00
Owen Taylor
68f8a64307
Use ISO C99 varargs when available.
...
Fri May 18 11:30:57 2001 Owen Taylor <otaylor@redhat.com>
* pango/opentype/disasm.c: Use ISO C99 varargs when
available.
Thu May 17 11:16:23 2001 Owen Taylor <otaylor@redhat.com>
* pango/mapping.c: Fixup docs, remove some FIXMEs that are
no longer applicable.
* pango/pango-layout.c: Move by graphemes, not characters.
* pango/pango-layout.c (pango_layout_line_x_to_index):
Position at the closest grapheme boundary, not at character
boundaries.
* pango/pango-layout.c (pango_layout_line_index_to_x):
Return positions of grapheme boundaries, not character
boundaries.
2001-05-18 16:04:40 +00:00
Owen Taylor
89eb36ebc6
Remove excess call to DONE_Stream left over from conversion from FT1.
...
Tue Apr 24 11:45:55 2001 Owen Taylor <otaylor@redhat.com>
* pango/opentype/ftxgdef.c (TT_Load_GDEF_Table): Remove
excess call to DONE_Stream left over from conversion
from FT1. (reported by Michael Jansson)
2001-04-24 15:47:22 +00:00
Owen Taylor
c61a730aae
Release 0.14
...
Tue Apr 3 15:05:19 2001 Owen Taylor <otaylor@redhat.com>
* Release 0.14
* NEWS: updated.
* pango/pango/opentype/Makefile.am: make dist fixes.
* configure.in (PANGO_MINOR_VERSION): Up to 0.14
2001-04-03 19:07:36 +00:00
Tor Lillqvist
405b878923
Only a script engine here.
...
2000-12-21 Tor Lillqvist <tml@iki.fi>
* modules/basic/basic-win32.c (script_engine_load): Only a script
engine here.
* pango/makefile.mingw.in: Add the built pango-enum-types.[ch].
* pango/pango.def
* pango/pangoft2.def: Update.
* pango/opentype/pango-ot.def
* pango/opentype/makefile.mingw.in: New files.
* pango/opentype/Makefile.am (EXTRA_DIST): Add them.
* configure.in (included_modules): Generate
pango/opentype/makefile.mingw.
2000-12-21 19:55:23 +00:00
Owen Taylor
80a1582913
Since Xft may only be available statically without shlib deps, check for
...
Tue Dec 19 22:47:16 2000 Owen Taylor <otaylor@redhat.com>
* configure.in pango-config.in pangoxft.pc.in
modules/basic/Makefile.am: Since Xft may only be available
statically without shlib deps, check for FreeType libs explicitly
and include them when linking, otherwise things won't work. Also,
define FREETYPE_CFLAGS from freetype-config --cflags.
* modules/basic/basic-xft.c pango/pangoxft-font{,map}.c: Fool
Xft into not converting glyph indices by loading the
face unencoded then calling FT_Set_Charmap ourselves.
* pango/Makefile.am pango/pango-ot.h pango/opentype/* :Add start
of opentype handling - most of the actually meat of the code here
is the OpenType layout code from FreeType 1 ported to freetype2
and adapted slighlty for our purposes. Also, includes a
incomplete OpenType-table-dumping code useful for figuring
out what is going on.
* pango/pangoxft.h pango/pangoxft-font.h: Add calls for
getting FT_Face and PangoOTInfo from PangoXftFont.
* modules/arabic/{Makefile.am,arabic-ot.[ch],arabic-xft.c}:
Initial support for rendering Arabic with OpenType fonts.
2000-12-20 04:41:36 +00:00