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 <[email protected]> wrote: > didn't know about byte array alignment trick, thanks :) > > On Sun, Nov 27, 2016 at 6:16 PM, Richard Wordingham < > [email protected]> wrote: > >> On Sat, 26 Nov 2016 23:52:40 +0330 >> Ebrahim Byagowi <[email protected]> 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 >> [email protected] >> https://lists.freedesktop.org/mailman/listinfo/harfbuzz >> > > > _______________________________________________ > HarfBuzz mailing list > [email protected] > https://lists.freedesktop.org/mailman/listinfo/harfbuzz > > -- behdad http://behdad.org/
_______________________________________________ HarfBuzz mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/harfbuzz
