[HarfBuzz] How harfbuzz handles memory alignment?

Behdad Esfahbod behdad at behdad.org
Fri Dec 2 00:36:33 UTC 2016


Right. Note that on Arm, gcc aligns even byte-structs to 4 bytes.  That's
why we have -mstructure-size-boundary=8 in configure.ac on arm.

On Sun, Nov 27, 2016 at 1:22 PM, Ebrahim Byagowi <ebraminio at gmail.com>
wrote:

> didn't know about byte array alignment trick, thanks :)
>
> On Sun, Nov 27, 2016 at 6:16 PM, Richard Wordingham <
> richard.wordingham at ntlworld.com> wrote:
>
>> On Sat, 26 Nov 2016 23:52:40 +0330
>> Ebrahim Byagowi <ebraminio at gmail.com> wrote:
>>
>> > Hey guys, just like to know how harfbuzz handles memory alignment
>> > without having even one #pragma pack around? Does `IntType`
>> > <https://github.com/behdad/harfbuzz/blob/02bfd965af588640250
>> c47f344ad3096c8a373e0/src/hb-open-type-private.hh#L626>
>> > handles padding somehow or harfbuzz copies its own structs? Thanks.
>>
>> If you look at the specialisations of struct BEInt immediately above
>> in the same file, you'll see that the values are handled as arrays of
>> unsigned bytes (type uint8_t).  Endianity and misalignment are handled
>> together.
>>
>> One OpenType table that may contain misaligned data is the name table
>> - nothing forces UTF-16 characters to be aligned on 2-byte boundaries,
>> and I've seen fonts where it isn't so aligned.
>>
>> Richard.
>> _______________________________________________
>> HarfBuzz mailing list
>> HarfBuzz at lists.freedesktop.org
>> https://lists.freedesktop.org/mailman/listinfo/harfbuzz
>>
>
>
> _______________________________________________
> HarfBuzz mailing list
> HarfBuzz at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/harfbuzz
>
>


-- 
behdad
http://behdad.org/
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/harfbuzz/attachments/20161201/89a8e39c/attachment.html>


More information about the HarfBuzz mailing list