Behdad Esfahbod
31f18abecb
Minor compiler warning fixes
2011-06-15 09:49:58 -04:00
Behdad Esfahbod
abcfe9b59b
Remove hb_ot_layout_context_t, simplify code
2011-05-11 00:02:02 -04:00
Behdad Esfahbod
2409d5f8d7
Update Copyright headers
2011-04-21 17:14:28 -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
4e22c7e941
Add comment
2010-11-03 16:10:12 -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
d6c9eadb88
Remove more pointless LONGTERMTODO items
2010-10-27 12:34:50 -04:00
Behdad Esfahbod
7f97d2cd90
Pedantic
2010-10-01 19:09:01 -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
9dc45401c0
Fix stupid bug in bsearch cmp function!
2010-09-28 16:23:28 -04:00
Behdad Esfahbod
5bd1e95236
Speedup Device table delta computation for common cases
2010-09-22 16:46:18 -04:00
Behdad Esfahbod
acdba3f90b
Prefer C linkage
2010-07-23 15:39:27 -04: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
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
d7cfb3b2d1
s/\<context\>/c/g
2010-05-13 14:18:49 -04:00
Behdad Esfahbod
22da7fd94d
Rename a few files to be C++ sources
...
In anticipation for buffer revamp coming.
2010-05-12 18:23:21 -04:00
Behdad Esfahbod
69cb28bc13
Remove a few likely()'s
2010-05-10 23:13:08 -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
dacebcadae
Simplify unions
2010-05-10 19:45:41 -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
b961518b96
Simplify array access
2010-05-10 18:20:54 -04:00
Behdad Esfahbod
ed07422c33
Further cleanup of sizeof
2010-05-10 18:08:46 -04:00
Behdad Esfahbod
40cbefe858
Remove unnecessary casts
2010-05-10 17:47:22 -04:00
Behdad Esfahbod
bea34c7cbb
Further cleanup of DEFINE_SIZE
2010-05-10 17:28:16 -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
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
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
583d7f9586
Cosmetic
2010-05-05 01:49:22 -04:00
Behdad Esfahbod
39840474af
Remove SANITIZE_ARG_DEF and SANITIZE_ARG
2010-05-05 00:23:19 -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
4d4cce9626
Remove SANITIZE_THIS2
2010-05-04 14:57:55 -04:00
Behdad Esfahbod
64d3fc8d0d
Cosmetic: Rename HB_LIKELY/HB_UNLIKELY to likely/unlikely
2010-05-03 22:51:19 -04:00
Behdad Esfahbod
caff7db93d
Fix Device::get_size() calculation
2010-04-26 10:07:35 -04:00
Behdad Esfahbod
f1aaa2a436
Add TODO
2010-04-23 15:19:50 -04:00
Behdad Esfahbod
a0bb49c583
Add comment re bsearch effect on sanitize
2010-04-22 18:47:03 -04:00
Behdad Esfahbod
3b2c2df41b
Cleanup Extension sanitize()
2010-04-22 16:51:42 -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
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
62c0fd7573
Cleanup de-const-casting during sanitize
2010-04-21 23:30:48 -04:00
Behdad Esfahbod
2cb08458f6
Rename const_array() to array() (overloaded)
2010-04-21 22:37:31 -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
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
53d237ec63
Remove ASSERT_SIZE_DATA
2010-04-21 01:54:49 -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
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
d6387757de
Fix sanitize
2009-11-11 17:15:03 -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
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
aa87d95173
[HB] Fix lookup_flag ignoring
...
Reported by Keith Stribley on HarfBuzz list.
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
8f034d5849
Fix a few other 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
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
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
284899ccbe
[HB] Add a NEXT() macro
2009-11-02 14:40:35 -05:00
Behdad Esfahbod
bff3c0fde5
[HB] Remove clumsy macros and improve API
2009-11-02 14:40:34 -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
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
738c54d9ca
[HB] Tag sanitize()
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
dc9c4d93cd
[HB] Sanitize DeviceTable
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
e6ab2c59ba
[HB] Simplify indirect 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
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
5f5b24f99f
[OT] Rename C++ header files from *.h to *.hh
2009-11-02 14:40:27 -05:00