Layoutex - paragraphlayout.cpp build error
I'm trying to install icu-67.1 version on my RHEL6 machine.
I had followed the below steps from Steps to build layoutex
Build and install a complete ICU with the --disable-layout --disable-layoutex switches passed to configure
Build and install HarfBuzz - http://harfbuzz.org (HarfBuzz's use of ICU may be enabled or disabled at your choice)
Build and install the [icu-le-hb] (http://harfbuzz.org) library.
Now, rerun "configure" on the exact same ICU workspace used above:
with "icu-le-hb" AND the above-mentioned installed ICU available via pkg-config ( pkg-config --modversion icu-le-hb should return a version, such as "0.0.0" )
with the --disable-layout --enable-layoutex switches passed to configure
next, run make install JUST in the source/layoutex directory, to install libiculx and icu-lx.pc
But, when I'm doing the final step I'm getting the following error.
ParagraphLayoutCpp:275:1:error: too many initializers for 'const le_bool'
I found that "complexTable[scriptCodeCount]" array has been initialized with 135 entries, but 'scriptCodeCount' variable has value 130 only.
I couldn't find where they have initialized value 130 to scriptCodeCount variable.
Kindly help me with this issue.
You seem to be getting an LEScripts.h from ICU 4.0 or 4.2. Probably an ancient ICU layout engine installed on your system. Which probably also means you are not actually compiling against the newer icu-le-hb.
Discussion & fix in
I haven’t looked yet, but hopefully this is just a hardcoded array size that needs to be increased as each major Unicode version adds more scripts.