Behdad Esfahbod
e94be200bd
[map] Implement operator[] for get()ting
2018-05-29 16:37:44 -07:00
Behdad Esfahbod
743fdd9c61
[map] First try at implementing an integer-to-integer hashmap
...
Fully untested.
2018-05-29 16:29:12 -07:00
Ebrahim Byagowi
65c82179c9
[blob] Use MAP_NORESERVE if available ( #1039 )
...
MAP_NORESERVE is not available on macOS for example so set the flag
to zero if not defined on the headers.
2018-05-26 23:50:10 +04:30
Behdad Esfahbod
1ce40d900a
[set] Remove stale comment
2018-05-25 16:34:08 -07:00
Behdad Esfahbod
6c2227640b
Add HB_DISALLOW_COPY_AND_ASSIGN
2018-05-25 16:21:27 -07:00
Behdad Esfahbod
fd3d004231
Move pool definitions to hb-static.cc
2018-05-24 15:58:26 -07:00
Behdad Esfahbod
7f7b1370d3
Fix Uniscribe build
...
If a pointer type was passed to Null(), reinterpret_cast<> was
complaining about qualifiers being removed. Turns out I need the const on
the other side of "Type" to fix that. Also remove unused const from
NullPool type.
2018-05-24 14:09:04 -07:00
Behdad Esfahbod
31c4236d96
Underflow protection in hb_vector_t
2018-05-24 13:53:02 -07:00
Behdad Esfahbod
f83e992c8b
Mark CrapPool thread_local
...
Not sure if I like to keep it. For now, aim for correctness.
2018-05-24 13:53:02 -07:00
Behdad Esfahbod
5d80129891
Add CrapPool
...
Common Regoin for Access Protection. Like the NullPool, but writable.
2018-05-24 13:53:02 -07:00
Behdad Esfahbod
673b764de0
Move code around
2018-05-24 13:53:02 -07:00
Behdad Esfahbod
65aeabd622
Add hb_vector_t::push(const Type &v)
...
Makes for cleaner code.
2018-05-24 13:53:02 -07:00
Ebrahim Byagowi
38ae0add70
[ci] Revive the SunCC bot
...
* Adds libnsl to the bot as it is now needed apparently
* Disables hb-icu, apparently the newer ICU itself is not compatible with SunCC
2018-05-23 13:37:57 +04:30
Behdad Esfahbod
6c818c5516
Actually enable vectorized operations
...
Fixup for previous commit. Was accidentally turned off.
2018-05-22 22:00:05 -07:00
Behdad Esfahbod
f56a250b04
Another try at smart vectorization
...
Make clang happy. Also, don't use anonymous union.
2018-05-22 21:36:07 -07:00
Behdad Esfahbod
b995b501ef
Try enabling vectorization smartly
...
We'll see if this sticks to the bots.
2018-05-22 21:06:22 -07:00
Behdad Esfahbod
dd22c29f95
[set] Always check population before checking for equality
2018-05-22 20:57:19 -07:00
Behdad Esfahbod
2eb9bbd986
[test/text-rendering-tests] Update from upstream
2018-05-22 18:31:30 -07:00
Ebrahim Byagowi
8eb53b853d
Minor, make CreateFile compatible with the disabled writable flag
...
"writable" is not in use and probably we can go in the reverse direction
and remove the flags that are useful for enabled writable, this is just
for the sake of completeness however.
2018-05-11 22:44:44 +04:30
Ebrahim Byagowi
33eb1bd23b
Remove unnecessary headers and definitions of hb-blob ( #1028 )
...
It removes io.h and other polyfills which we no longer need as 7e76d74
2018-05-11 14:36:41 +04:30
Ebrahim Byagowi
7e76d746e2
Make hb_blob_create_from_file more portable ( #1027 )
...
This makes it compatible with ARMCC which I had access in
a collaboration with @imgtec, thanks!
Basically hb_blob_create_from_file features three code paths,
mmap, Win32 and fallback.
We had fallback implementation even before this but it was relied
to "open" which is not available on some environments. This change
improved the situtation by using only fopen and friends for
fallback path.
Interestingly we could use "open" on Windows but in fact it was
emulated by MSVCRT so I've completely split that from Unix path
now that we have a distinct path for fallback path also.
2018-05-11 13:40:33 +04:30
Behdad Esfahbod
e99d75ea9c
Fix warning
2018-05-09 15:31:57 -07:00
Behdad Esfahbod
191c4edc54
Reinstante DEFINE_NULL_DATA
...
Seems like I messed up; buffer overrun got reported.
2018-05-09 15:31:57 -07:00
Ebrahim Byagowi
93bdf9b2df
Use arrayZ on hb-coretext and hb-uniscribe and fix macOS/Win bots ( #1024 )
...
Following to 63f57f4
2018-05-09 23:24:17 +04:30
Behdad Esfahbod
63f57f4dab
Mark more unsized array's as arrayZ
2018-05-08 16:56:11 -07:00
Behdad Esfahbod
091c17df5a
Use UnsizedArrayOf<> in one place where [VAR] was used
...
Trying to see how many can converted meaningfully.
2018-05-08 16:42:45 -07:00
Behdad Esfahbod
0644d92ef3
Merge pull request #1018 from googlefonts/cmap4
...
[subset] Add cmap format 4 subsetting.
2018-05-08 15:21:09 -07:00
Behdad Esfahbod
2a2e28e701
Don't keep instance in hb_table_lazy_loader_t
2018-05-08 03:00:21 -07:00
Behdad Esfahbod
57bac8f699
Rename
2018-05-08 02:55:20 -07:00
Behdad Esfahbod
2a46a020fd
Minor
2018-05-08 02:53:03 -07:00
Behdad Esfahbod
eba1c16a60
Always lock blob in sanitize. Remove blob->lock_as() in favor of blob->lock()
2018-05-08 02:47:42 -07:00
Behdad Esfahbod
b4fa505014
Move Sanitizer::lock_instance<>() to blob->lock_as<>().
2018-05-08 02:45:08 -07:00
Behdad Esfahbod
abc12f7b81
Move null pool to hb-private
2018-05-08 02:23:36 -07:00
Behdad Esfahbod
08e280fd84
Rename hb_string_t to hb_bytes_t
2018-05-08 01:57:27 -07:00
Behdad Esfahbod
bd021a6720
Minor
2018-05-08 01:50:30 -07:00
Behdad Esfahbod
16e4ccf7b4
Allocate user-data-array on the heap
...
This saves each object allocation 72 bytes. Now object overhead is just
16 bytes (on x86) instead of 88 bytes. Neat.
2018-05-08 01:47:05 -07:00
Behdad Esfahbod
61920b21ca
Oops
...
Fixes https://github.com/harfbuzz/harfbuzz/issues/1023
2018-05-08 01:28:49 -07:00
Behdad Esfahbod
f673cfbd64
Support scripts that are written both LTR and RTL
...
Right now only Old Italic is marked as such.
Fixes https://github.com/harfbuzz/harfbuzz/issues/1000
2018-05-07 14:12:17 -07:00
Behdad Esfahbod
90869e6962
[ot] Apply langsys's required feature even if no other feature exists
2018-05-07 14:12:17 -07:00
Behdad Esfahbod
90baf72197
Move some blob functions to methods
2018-05-07 13:38:19 -07:00
Behdad Esfahbod
5c64d61475
Add hb-blob-private.hh
...
Towards making blob more memory-allocation-friendly
2018-05-07 13:38:19 -07:00
Behdad Esfahbod
203dc44ebc
[ot-layout] Remove unused members
...
We should hang those off somewhere else. For now, the unused ones can go.
2018-05-07 13:38:19 -07:00
Ebrahim Byagowi
ac92ed7d68
Set inline hidden flag only on shared library building
...
To avoid need of CMP0063 which is not available on older CMake versions
2018-05-08 01:05:15 +04:30
Garret Rieger
3be050f075
[subset] entrySelectorZ -> entrySelector.
2018-05-04 11:23:32 -07:00
Garret Rieger
7c22f98da7
[subset] add missing template parameter.
2018-05-04 11:20:03 -07:00
Garret Rieger
95eb0f3baf
[subset] Switch to a non-log using implementation of caculating searchRangeZ, entrySelectorZ, and rangeShiftZ in cmap4.
2018-05-04 11:20:03 -07:00
Garret Rieger
b0d7971be0
[subset] Updated expected files for japanese subset integration tests to include cmap4.
2018-05-04 11:20:03 -07:00
Garret Rieger
7947927317
[subset] Update expected files for subset integration tests to include cmap4.
2018-05-04 11:20:03 -07:00
Garret Rieger
a8e7f9b958
[subset] Get cmap tests passing again.
2018-05-04 11:20:03 -07:00
Garret Rieger
c817992f49
[subset] Write out a format 4, plat 0 encoding record to match fontTools.
2018-05-04 11:20:03 -07:00