Commit Graph

652 Commits

Author SHA1 Message Date
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