Behdad Esfahbod
0f8fea71a6
Minor. Hide _hb_ot_layout_get_glyph_property()
2012-06-09 00:24:38 -04:00
Behdad Esfahbod
44b8ee0c90
Minor
2012-06-09 00:23:24 -04:00
Behdad Esfahbod
7b84c536c1
In MarkBase attachment, only attach to first of a MultipleSubst sequence
...
This is apparently what Uniscribe does. Test case is:
SEEN FATHA TEH ALEF
with Arabic Typesetting. Originally reported by Khaled Hosny.
2012-06-08 22:04:23 -04:00
Behdad Esfahbod
ec57e0c565
Set lig_comp for MultipleSubst components
...
To be used for correct mark attachment to first component of a
MultipleSubst output. That's what Uniscribe does.
2012-06-08 21:47:23 -04:00
Behdad Esfahbod
e085fcf7ca
Remove unused buffer->replace_glyphs_be16
2012-06-08 21:45:00 -04:00
Behdad Esfahbod
3ec77d6ae0
Don't use replace_glyphs_be for MultipleSubst
2012-06-08 21:44:06 -04:00
Behdad Esfahbod
4b7192125f
Minor
2012-06-08 21:41:46 -04:00
Behdad Esfahbod
4508789f4b
Add test for static initializers and other C++ stuff
2012-06-08 21:32:43 -04:00
Behdad Esfahbod
56bd259b9a
Minor
2012-06-08 21:29:18 -04:00
Behdad Esfahbod
bc8357ea7b
Merge clusters during normalization
2012-06-08 21:01:20 -04:00
Behdad Esfahbod
fe3dabc08d
Minor
2012-06-08 20:56:05 -04:00
Behdad Esfahbod
e88e14421a
Use merge_clusters instead of open-coding
2012-06-08 20:55:21 -04:00
Behdad Esfahbod
330a2af3ff
Use merge_clusters when forming Unicode clusters
2012-06-08 20:40:02 -04:00
Behdad Esfahbod
bd300df9ad
Minor
2012-06-08 20:36:37 -04:00
Behdad Esfahbod
e51d2b6ed1
Extend into main buffer if extension hit end of out-buffer merging clusters
2012-06-08 20:36:33 -04:00
Behdad Esfahbod
5ced012d9f
Extend end when merging clusters in out-buffer
2012-06-08 20:31:32 -04:00
Behdad Esfahbod
72c0a18783
Extend clusters backward in out-buffer
2012-06-08 20:30:03 -04:00
Behdad Esfahbod
cd5891493d
Extend clusters backwards, into the out-buffer too
2012-06-08 20:28:59 -04:00
Behdad Esfahbod
77471e0371
Clear output buffer before calling GSUB pause functions
2012-06-08 20:21:02 -04:00
Behdad Esfahbod
cafa6f3727
When merging clusters, extend the end
2012-06-08 20:17:10 -04:00
Behdad Esfahbod
28ce5fa454
Merge clusters when ligating
2012-06-08 20:17:06 -04:00
Behdad Esfahbod
2bb1761ccb
Minor, use next_glyph()
2012-06-08 19:29:44 -04:00
Behdad Esfahbod
5f68f8675e
Minor
2012-06-08 19:23:43 -04:00
Behdad Esfahbod
8729691267
Increase Uniscribe MAX_ITEMS
2012-06-08 14:39:31 -04:00
Behdad Esfahbod
dbffa4c83d
Fix Uniscribe charset matching
...
Previously was failing to match fonts that didn't support CHARSET_ANSI.
There still remains a problem with the Uniscribe backend, in that if a
font with the same family name is installed, and is newer, the native
one is preferred over the font we provide. Fixing it requires rewriting
the name table with a unique family name...
2012-06-08 14:39:31 -04:00
Behdad Esfahbod
82e8bd8628
Remove unused code
2012-06-08 14:39:31 -04:00
Behdad Esfahbod
6da9dbff21
Remove zero-width chars in the fallback shaper too
2012-06-08 10:53:35 -04:00
Behdad Esfahbod
68b76121f8
Fix regressions introduced by sed. Ouch!
...
Introduced in 99c2695759
.
Broken mark-mark and mark-ligature stuff.
2012-06-08 10:47:00 -04:00
Behdad Esfahbod
0dd86f9f68
Whitespace
2012-06-08 10:23:03 -04:00
Behdad Esfahbod
8e7beba7c3
Fix Uniscribe clusters with direction-overriden Arabic
2012-06-08 10:22:06 -04:00
Behdad Esfahbod
b069c3c31b
Really fix override-direction in Uniscribe
2012-06-08 10:10:29 -04:00
Behdad Esfahbod
fcd6f53261
Unbreak Uniscribe
...
Oops. hb_tag_t and OPENTYPE_TAG have different endianness. Perhaps
something to add API for in hb-uniscribe.h
2012-06-08 09:59:43 -04:00
Behdad Esfahbod
29eac8f591
Override direction in Uniscribe backend
...
Matches OT backend now.
2012-06-08 09:26:17 -04:00
Behdad Esfahbod
1c1233e576
Make Uniscribe backend respect selected script
2012-06-08 09:20:53 -04:00
Behdad Esfahbod
0bb0f5d419
Add note re _NullPool
2012-06-07 17:42:48 -04:00
Behdad Esfahbod
2a3d911fe0
Fix alignment-requirement missmatch
...
Detected by clang and lots of cmdline options.
2012-06-07 17:31:46 -04:00
Behdad Esfahbod
6095de1635
Fix clang warning with NO_MT path
2012-06-07 15:48:18 -04:00
Behdad Esfahbod
a18280a8ce
Fix warnings produced by clang analyzer
2012-06-07 15:44:12 -04:00
Behdad Esfahbod
73cb02de2d
Minor
2012-06-06 11:29:25 -04:00
Behdad Esfahbod
79e2b4791f
Fix ASSERT_POD on clang
...
As reported by bashi. Not tested.
2012-06-06 11:27:17 -04:00
Behdad Esfahbod
6220e5fc0d
Add ASSERT_POD for most objects
2012-06-06 03:30:09 -04:00
Behdad Esfahbod
a00a63b5ef
Add macros to check that types are POD
2012-06-06 03:07:01 -04:00
Behdad Esfahbod
61eb60c129
Don't link to libstdc++
...
New try.
2012-06-05 21:22:36 -04:00
Behdad Esfahbod
81a4b9fd4e
Remove unused hb_static_mutex_t
2012-06-05 20:53:00 -04:00
Behdad Esfahbod
4a3a9897b3
Disable Intel atomic ops on mingw32
...
Apparently the configure test is not enough...
2012-06-05 20:39:07 -04:00
Behdad Esfahbod
0594a24484
Cleanup TRUE/FALSE vs true/false
2012-06-05 20:35:40 -04:00
Behdad Esfahbod
e1ac38f8dd
Fix inert buffer set_length() with zero
...
Oops!
2012-06-05 20:31:49 -04:00
Behdad Esfahbod
04bc1eebe7
Add configure tests for Intel atomic intrinsics
2012-06-05 20:16:56 -04:00
Behdad Esfahbod
f64b2ebf82
Remove last static initializer
...
We're free! Lazy or immediate...
2012-06-05 20:15:27 -04:00
Behdad Esfahbod
04aed572f1
Make hb-ft static-initializer free
2012-06-05 18:45:36 -04:00
Behdad Esfahbod
be4560a3b5
Undo default unicode-funcs to avoid static initializer again
2012-06-05 18:43:57 -04:00
Behdad Esfahbod
093171ccec
Implement lock-free hb_language_t
...
Another static-initialization down. One more to go.
2012-06-05 18:00:45 -04:00
Behdad Esfahbod
6843ce01be
Add atomic-pointer functions
...
Gonig to use these for lock-free linked-lists, to be used for
hb_language_t among other things.
2012-06-05 17:27:20 -04:00
Behdad Esfahbod
cdafe3a7d8
Add gcc intrinsics implementations for atomic and mutex
2012-06-05 16:40:23 -04:00
Behdad Esfahbod
d970d2899b
Add gcc implementation for atomic ops
2012-06-05 16:06:28 -04:00
Behdad Esfahbod
0e253e97af
Add a mutex to object header
...
Removes one more static-initialization. A few more to go.
2012-06-05 15:54:43 -04:00
Behdad Esfahbod
a2b471df82
Remove static initializers from indic
2012-06-05 15:17:44 -04:00
Behdad Esfahbod
f06ab8a426
Better hide nil objects and make them const
2012-06-05 14:49:14 -04:00
Behdad Esfahbod
bf93b636c4
Remove constructor from hb_prealloced_array_t
...
This was causing all object types to be non-POD and have static
initializers. We don't need that!
Now, most nil objects just moved from .bss to .data. Fixing for that
coming soon.
2012-06-05 14:17:32 -04:00
Behdad Esfahbod
f1971a2174
Fix warnings
2012-06-05 14:06:04 -04:00
Behdad Esfahbod
9fc7a11469
Remove comma at the end of enum
...
As reported by Jonathan Kew on the list.
2012-06-04 08:28:19 -04:00
Behdad Esfahbod
3b8fd9c48f
Remove const from ref_count.ref_count
...
According to Tom Hacohen this was breaking build with some compilers.
In file included from hb-buffer-private.hh:35:0,
from hb-ot-map-private.hh:32,
from hb-ot-shape-private.hh:32,
from hb-ot-shape.cc:29:
hb-object-private.hh: In constructor '_hb_object_header_t::_hb_object_header_t()':
hb-object-private.hh:97:8: error: uninitialized const member in 'struct hb_reference_count_t'
hb-object-private.hh:51:25: note: 'hb_reference_count_t::ref_count' should be initialized
In file included from hb-ot-shape.cc:33:0:
hb-set-private.hh: In constructor '_hb_set_t::_hb_set_t()':
hb-set-private.hh:37:8: note: synthesized method '_hb_object_header_t::_hb_object_header_t()' first required here
hb-ot-shape.cc: In function 'void hb_ot_shape_glyphs_closure(hb_font_t*, hb_buffer_t*, const hb_feature_t*, unsigned int, hb_set_t*)':
hb-ot-shape.cc:521:12: note: synthesized method '_hb_set_t::_hb_set_t()' first required here
2012-06-03 15:54:19 -04:00
Behdad Esfahbod
70600dbf62
Minor
2012-06-03 15:52:51 -04:00
Behdad Esfahbod
96a9ef0c9f
Remove tab character like other "zero-width" characters
...
Uniscribe does that, this make comparing results to Uniscribe
easier.
2012-06-01 13:46:26 -04:00
Behdad Esfahbod
0558d55bac
Remove hb_atomic_int_set/get()
...
We never use them in fact...
I'm just adjusting these as I better understand the requirements of
the code and the guarantees of each operation.
2012-05-28 10:46:47 -04:00
Behdad Esfahbod
bce095524b
Add hb_font_get_glyph_name() and hb_font_get_glyph_from_name()
2012-05-28 10:45:50 -04:00
Behdad Esfahbod
bc145658bd
Warn if no Unicode functions implementation is found
2012-05-28 10:45:50 -04:00
Behdad Esfahbod
a3547330fa
Cleanup atomic ops on OS X
2012-05-27 10:20:47 -04:00
Behdad Esfahbod
e4b6d503c5
Don't use atomic ops in hb_cache_t
...
We don't care about linearizability, so unprotected int read/write
are enough, no need for expensive memory barriers. It's a cache,
that's all.
2012-05-27 10:11:13 -04:00
Behdad Esfahbod
819faa0530
Minor
2012-05-27 10:09:18 -04:00
Behdad Esfahbod
303d5850ec
Fix Windows atomic get/set
...
According to:
http://msdn.microsoft.com/en-us/library/65tt87y8.aspx
MemoryBarrier() is the right macro to protect these, not _ReadBarrier()
and/or _WriteBarrier().
2012-05-27 10:01:13 -04:00
Behdad Esfahbod
29ce446d31
Add set iterator
2012-05-25 14:17:54 -04:00
Behdad Esfahbod
62c3e111fc
Add set symmetric difference
2012-05-25 13:48:00 -04:00
Behdad Esfahbod
27aba594c9
Minor
2012-05-24 15:00:01 -04:00
Behdad Esfahbod
cde1c0114b
Fix hb_atomic_int_set() implementation for HB_NO_MT
...
As pointed out by Jonathan Kew.
2012-05-24 10:46:39 -04:00
Behdad Esfahbod
ed2f1363a3
Fix substitution glyph class propagation
...
The old code was doing nothing.
Still got to find an example font+string that makes this matter, but
need this for fixing synthetic GDEF anyway.
2012-05-22 22:12:22 -04:00
Behdad Esfahbod
20fdb0f41d
Add a lock-free cache type for int->int functions
...
To be used for cmap and advance caching if desired.
2012-05-17 22:04:45 -04:00
Behdad Esfahbod
bd908b4f10
Implement hb_atomic_int_set() for OS X
2012-05-17 22:02:08 -04:00
Behdad Esfahbod
022a05ae90
Minor
2012-05-17 21:53:24 -04:00
Behdad Esfahbod
22afd66a30
Add hb_atomic_int_set() again
2012-05-17 21:23:49 -04:00
Behdad Esfahbod
4aa7258cb1
Fix type conflicts on Windows without glib
2012-05-17 21:01:04 -04:00
Behdad Esfahbod
f039e79d54
Don't use min/max as function names
...
They can be macros on some systems. Eg. mingw32.
2012-05-17 20:55:12 -04:00
Behdad Esfahbod
34961e3198
Prefer native atomic/mutex ops to glib's
2012-05-17 20:50:38 -04:00
Behdad Esfahbod
ec3ba4b96f
Move atomic ops into their own header
2012-05-17 20:30:46 -04:00
Behdad Esfahbod
1d6846db9e
[Indic] Apply vatu feature after cjct
...
Testing with old Deva spec this reduces failures.
Test sequence: U+0915,U+094D,U+0930.
2012-05-13 18:09:29 +02:00
Behdad Esfahbod
617f4ac46f
Refactor
2012-05-13 16:48:03 +02:00
Behdad Esfahbod
5e4e21fce4
Revert "[Indic] Refactoring"
...
This reverts commit 0831061efb
.
2012-05-13 16:46:08 +02:00
Behdad Esfahbod
3f18236a03
Fix more warnings
2012-05-13 16:20:10 +02:00
Behdad Esfahbod
9f377ed321
Fix more unused-var warnings
2012-05-13 16:13:44 +02:00
Behdad Esfahbod
d993e72331
Fix hb_face_set_index()
2012-05-13 16:04:36 +02:00
Behdad Esfahbod
93345edcbe
Fix warnings
2012-05-13 16:01:08 +02:00
Behdad Esfahbod
eace47b173
Minor
2012-05-13 15:54:43 +02:00
Behdad Esfahbod
99c2695759
Add accessort to buffer for current info, current pos, and prev info
2012-05-13 15:45:18 +02:00
Behdad Esfahbod
6736f3c5b0
Minor
2012-05-13 15:21:06 +02:00
Behdad Esfahbod
5df809b655
[GSUB/GPOS] Remove context_length
...
The spec doesn't say contextual matching should be done this way,
and AOTS doesn't do it either. It was inherited from old HarfBuzz.
Remove it.
2012-05-13 15:17:51 +02:00
Behdad Esfahbod
28b9d502bb
Minor
2012-05-13 15:04:00 +02:00
Behdad Esfahbod
737dded2e0
Fix compiler warnings
2012-05-12 15:40:11 +02:00
Behdad Esfahbod
7f852b644b
Fix compiler warnings
2012-05-11 23:10:31 +02:00
Behdad Esfahbod
f7e8dcfd4f
[Indic] Unbreak Devanagari
...
And this, concludes the HarfBuzz Massala Hackfest.
I like to specially thank Jonathan Kew for doing all the decription and
letting me get commit points.
2012-05-11 22:01:33 +02:00
Behdad Esfahbod
6a091df9b4
[Indic] Disambiguate sub vs post vs above matras
...
Bengali is at *just* above 5% now.
2012-05-11 21:42:27 +02:00