mirror of https://github.com/OpenTTD/OpenTTD.git
(svn r25470) -Feature-ish: use ICU's layout engine when that's available
This commit is contained in:
parent
7b10e39bf1
commit
48c1e4f87e
|
@ -1718,9 +1718,9 @@ make_cflags_and_ldflags() {
|
||||||
|
|
||||||
# Some icu-configs have the 'feature' of not adding a space where others do add the space
|
# Some icu-configs have the 'feature' of not adding a space where others do add the space
|
||||||
if [ "$static_icu" != "0" ]; then
|
if [ "$static_icu" != "0" ]; then
|
||||||
LIBS="$LIBS `$icu_config --ldflags-searchpath` `$icu_config --ldflags-libsonly | tr '\n\r' ' ' | sed s/licu/lsicu/g`"
|
LIBS="$LIBS `$icu_config --ldflags-searchpath` `$icu_config --ldflags-libsonly --ldflags-layout | tr '\n\r' ' ' | sed s/licu/lsicu/g`"
|
||||||
else
|
else
|
||||||
LIBS="$LIBS `$icu_config --ldflags-searchpath` `$icu_config --ldflags-libsonly | tr '\n\r' ' '`"
|
LIBS="$LIBS `$icu_config --ldflags-searchpath` `$icu_config --ldflags-libsonly --ldflags-layout | tr '\n\r' ' '`"
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
|
@ -131,7 +131,7 @@
|
||||||
<Culture>0x0809</Culture>
|
<Culture>0x0809</Culture>
|
||||||
</ResourceCompile>
|
</ResourceCompile>
|
||||||
<Link>
|
<Link>
|
||||||
<AdditionalDependencies>winmm.lib;ws2_32.lib;libpng.lib;zlibstat.lib;lzo2.lib;liblzma.lib;libfreetype2.lib;icuuc.lib;icuin.lib;icudt.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
<AdditionalDependencies>winmm.lib;ws2_32.lib;libpng.lib;zlibstat.lib;lzo2.lib;liblzma.lib;libfreetype2.lib;icuuc.lib;icuin.lib;icudt.lib;icule.lib;iculx.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||||
<IgnoreSpecificDefaultLibraries>%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
|
<IgnoreSpecificDefaultLibraries>%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
|
||||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||||
|
@ -176,7 +176,7 @@
|
||||||
<Culture>0x0809</Culture>
|
<Culture>0x0809</Culture>
|
||||||
</ResourceCompile>
|
</ResourceCompile>
|
||||||
<Link>
|
<Link>
|
||||||
<AdditionalDependencies>winmm.lib;ws2_32.lib;libpng.lib;zlibstat.lib;lzo2.lib;liblzma.lib;libfreetype2.lib;icuuc.lib;icuin.lib;icudt.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
<AdditionalDependencies>winmm.lib;ws2_32.lib;libpng.lib;zlibstat.lib;lzo2.lib;liblzma.lib;libfreetype2.lib;icuuc.lib;icuin.lib;icudt.lib;icule.lib;iculx.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||||
<IgnoreSpecificDefaultLibraries>LIBCMT.lib;%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
|
<IgnoreSpecificDefaultLibraries>LIBCMT.lib;%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
|
||||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||||
|
@ -233,7 +233,7 @@
|
||||||
<Culture>0x0809</Culture>
|
<Culture>0x0809</Culture>
|
||||||
</ResourceCompile>
|
</ResourceCompile>
|
||||||
<Link>
|
<Link>
|
||||||
<AdditionalDependencies>winmm.lib;ws2_32.lib;libpng.lib;zlibstat.lib;lzo2.lib;liblzma.lib;libfreetype2.lib;icuuc.lib;icuin.lib;icudt.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
<AdditionalDependencies>winmm.lib;ws2_32.lib;libpng.lib;zlibstat.lib;lzo2.lib;liblzma.lib;libfreetype2.lib;icuuc.lib;icuin.lib;icudt.lib;icule.lib;iculx.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||||
<IgnoreSpecificDefaultLibraries>%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
|
<IgnoreSpecificDefaultLibraries>%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
|
||||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||||
|
@ -280,7 +280,7 @@
|
||||||
<Culture>0x0809</Culture>
|
<Culture>0x0809</Culture>
|
||||||
</ResourceCompile>
|
</ResourceCompile>
|
||||||
<Link>
|
<Link>
|
||||||
<AdditionalDependencies>winmm.lib;ws2_32.lib;libpng.lib;zlibstat.lib;lzo2.lib;liblzma.lib;libfreetype2.lib;icuuc.lib;icuin.lib;icudt.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
<AdditionalDependencies>winmm.lib;ws2_32.lib;libpng.lib;zlibstat.lib;lzo2.lib;liblzma.lib;libfreetype2.lib;icuuc.lib;icuin.lib;icudt.lib;icule.lib;iculx.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||||
<IgnoreSpecificDefaultLibraries>LIBCMT.lib;%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
|
<IgnoreSpecificDefaultLibraries>LIBCMT.lib;%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
|
||||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||||
|
|
|
@ -131,7 +131,7 @@
|
||||||
<Culture>0x0809</Culture>
|
<Culture>0x0809</Culture>
|
||||||
</ResourceCompile>
|
</ResourceCompile>
|
||||||
<Link>
|
<Link>
|
||||||
<AdditionalDependencies>winmm.lib;ws2_32.lib;libpng.lib;zlibstat.lib;lzo2.lib;liblzma.lib;libfreetype2.lib;icuuc.lib;icuin.lib;icudt.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
<AdditionalDependencies>winmm.lib;ws2_32.lib;libpng.lib;zlibstat.lib;lzo2.lib;liblzma.lib;libfreetype2.lib;icuuc.lib;icuin.lib;icudt.lib;icule.lib;iculx.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||||
<IgnoreSpecificDefaultLibraries>%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
|
<IgnoreSpecificDefaultLibraries>%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
|
||||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||||
|
@ -176,7 +176,7 @@
|
||||||
<Culture>0x0809</Culture>
|
<Culture>0x0809</Culture>
|
||||||
</ResourceCompile>
|
</ResourceCompile>
|
||||||
<Link>
|
<Link>
|
||||||
<AdditionalDependencies>winmm.lib;ws2_32.lib;libpng.lib;zlibstat.lib;lzo2.lib;liblzma.lib;libfreetype2.lib;icuuc.lib;icuin.lib;icudt.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
<AdditionalDependencies>winmm.lib;ws2_32.lib;libpng.lib;zlibstat.lib;lzo2.lib;liblzma.lib;libfreetype2.lib;icuuc.lib;icuin.lib;icudt.lib;icule.lib;iculx.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||||
<IgnoreSpecificDefaultLibraries>LIBCMT.lib;%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
|
<IgnoreSpecificDefaultLibraries>LIBCMT.lib;%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
|
||||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||||
|
@ -233,7 +233,7 @@
|
||||||
<Culture>0x0809</Culture>
|
<Culture>0x0809</Culture>
|
||||||
</ResourceCompile>
|
</ResourceCompile>
|
||||||
<Link>
|
<Link>
|
||||||
<AdditionalDependencies>winmm.lib;ws2_32.lib;libpng.lib;zlibstat.lib;lzo2.lib;liblzma.lib;libfreetype2.lib;icuuc.lib;icuin.lib;icudt.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
<AdditionalDependencies>winmm.lib;ws2_32.lib;libpng.lib;zlibstat.lib;lzo2.lib;liblzma.lib;libfreetype2.lib;icuuc.lib;icuin.lib;icudt.lib;icule.lib;iculx.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||||
<IgnoreSpecificDefaultLibraries>%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
|
<IgnoreSpecificDefaultLibraries>%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
|
||||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||||
|
@ -280,7 +280,7 @@
|
||||||
<Culture>0x0809</Culture>
|
<Culture>0x0809</Culture>
|
||||||
</ResourceCompile>
|
</ResourceCompile>
|
||||||
<Link>
|
<Link>
|
||||||
<AdditionalDependencies>winmm.lib;ws2_32.lib;libpng.lib;zlibstat.lib;lzo2.lib;liblzma.lib;libfreetype2.lib;icuuc.lib;icuin.lib;icudt.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
<AdditionalDependencies>winmm.lib;ws2_32.lib;libpng.lib;zlibstat.lib;lzo2.lib;liblzma.lib;libfreetype2.lib;icuuc.lib;icuin.lib;icudt.lib;icule.lib;iculx.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||||
<IgnoreSpecificDefaultLibraries>LIBCMT.lib;%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
|
<IgnoreSpecificDefaultLibraries>LIBCMT.lib;%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
|
||||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||||
|
|
|
@ -87,7 +87,7 @@
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCLinkerTool"
|
Name="VCLinkerTool"
|
||||||
AdditionalDependencies="winmm.lib ws2_32.lib libpng.lib zlibstat.lib lzo2.lib liblzma.lib libfreetype2.lib icuuc.lib icuin.lib icudt.lib"
|
AdditionalDependencies="winmm.lib ws2_32.lib libpng.lib zlibstat.lib lzo2.lib liblzma.lib libfreetype2.lib icuuc.lib icuin.lib icudt.lib icule.lib iculx.lib"
|
||||||
LinkIncremental="1"
|
LinkIncremental="1"
|
||||||
SuppressStartupBanner="true"
|
SuppressStartupBanner="true"
|
||||||
IgnoreDefaultLibraryNames=""
|
IgnoreDefaultLibraryNames=""
|
||||||
|
@ -184,7 +184,7 @@
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCLinkerTool"
|
Name="VCLinkerTool"
|
||||||
AdditionalDependencies="winmm.lib ws2_32.lib libpng.lib zlibstat.lib lzo2.lib liblzma.lib libfreetype2.lib icuuc.lib icuin.lib icudt.lib"
|
AdditionalDependencies="winmm.lib ws2_32.lib libpng.lib zlibstat.lib lzo2.lib liblzma.lib libfreetype2.lib icuuc.lib icuin.lib icudt.lib icule.lib iculx.lib"
|
||||||
LinkIncremental="0"
|
LinkIncremental="0"
|
||||||
SuppressStartupBanner="true"
|
SuppressStartupBanner="true"
|
||||||
IgnoreDefaultLibraryNames="LIBCMT.lib"
|
IgnoreDefaultLibraryNames="LIBCMT.lib"
|
||||||
|
@ -292,7 +292,7 @@
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCLinkerTool"
|
Name="VCLinkerTool"
|
||||||
AdditionalDependencies="winmm.lib ws2_32.lib libpng.lib zlibstat.lib lzo2.lib liblzma.lib libfreetype2.lib icuuc.lib icuin.lib icudt.lib"
|
AdditionalDependencies="winmm.lib ws2_32.lib libpng.lib zlibstat.lib lzo2.lib liblzma.lib libfreetype2.lib icuuc.lib icuin.lib icudt.lib icule.lib iculx.lib"
|
||||||
LinkIncremental="1"
|
LinkIncremental="1"
|
||||||
SuppressStartupBanner="true"
|
SuppressStartupBanner="true"
|
||||||
IgnoreDefaultLibraryNames=""
|
IgnoreDefaultLibraryNames=""
|
||||||
|
@ -392,7 +392,7 @@
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCLinkerTool"
|
Name="VCLinkerTool"
|
||||||
AdditionalDependencies="winmm.lib ws2_32.lib libpng.lib zlibstat.lib lzo2.lib liblzma.lib libfreetype2.lib icuuc.lib icuin.lib icudt.lib"
|
AdditionalDependencies="winmm.lib ws2_32.lib libpng.lib zlibstat.lib lzo2.lib liblzma.lib libfreetype2.lib icuuc.lib icuin.lib icudt.lib icule.lib iculx.lib"
|
||||||
LinkIncremental="0"
|
LinkIncremental="0"
|
||||||
SuppressStartupBanner="true"
|
SuppressStartupBanner="true"
|
||||||
IgnoreDefaultLibraryNames="LIBCMT.lib"
|
IgnoreDefaultLibraryNames="LIBCMT.lib"
|
||||||
|
|
|
@ -87,7 +87,7 @@
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCLinkerTool"
|
Name="VCLinkerTool"
|
||||||
AdditionalDependencies="winmm.lib ws2_32.lib libpng.lib zlibstat.lib lzo2.lib liblzma.lib libfreetype2.lib icuuc.lib icuin.lib icudt.lib"
|
AdditionalDependencies="winmm.lib ws2_32.lib libpng.lib zlibstat.lib lzo2.lib liblzma.lib libfreetype2.lib icuuc.lib icuin.lib icudt.lib icule.lib iculx.lib"
|
||||||
LinkIncremental="1"
|
LinkIncremental="1"
|
||||||
SuppressStartupBanner="true"
|
SuppressStartupBanner="true"
|
||||||
IgnoreDefaultLibraryNames=""
|
IgnoreDefaultLibraryNames=""
|
||||||
|
@ -184,7 +184,7 @@
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCLinkerTool"
|
Name="VCLinkerTool"
|
||||||
AdditionalDependencies="winmm.lib ws2_32.lib libpng.lib zlibstat.lib lzo2.lib liblzma.lib libfreetype2.lib icuuc.lib icuin.lib icudt.lib"
|
AdditionalDependencies="winmm.lib ws2_32.lib libpng.lib zlibstat.lib lzo2.lib liblzma.lib libfreetype2.lib icuuc.lib icuin.lib icudt.lib icule.lib iculx.lib"
|
||||||
LinkIncremental="0"
|
LinkIncremental="0"
|
||||||
SuppressStartupBanner="true"
|
SuppressStartupBanner="true"
|
||||||
IgnoreDefaultLibraryNames="LIBCMT.lib"
|
IgnoreDefaultLibraryNames="LIBCMT.lib"
|
||||||
|
@ -292,7 +292,7 @@
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCLinkerTool"
|
Name="VCLinkerTool"
|
||||||
AdditionalDependencies="winmm.lib ws2_32.lib libpng.lib zlibstat.lib lzo2.lib liblzma.lib libfreetype2.lib icuuc.lib icuin.lib icudt.lib"
|
AdditionalDependencies="winmm.lib ws2_32.lib libpng.lib zlibstat.lib lzo2.lib liblzma.lib libfreetype2.lib icuuc.lib icuin.lib icudt.lib icule.lib iculx.lib"
|
||||||
LinkIncremental="1"
|
LinkIncremental="1"
|
||||||
SuppressStartupBanner="true"
|
SuppressStartupBanner="true"
|
||||||
IgnoreDefaultLibraryNames=""
|
IgnoreDefaultLibraryNames=""
|
||||||
|
@ -392,7 +392,7 @@
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCLinkerTool"
|
Name="VCLinkerTool"
|
||||||
AdditionalDependencies="winmm.lib ws2_32.lib libpng.lib zlibstat.lib lzo2.lib liblzma.lib libfreetype2.lib icuuc.lib icuin.lib icudt.lib"
|
AdditionalDependencies="winmm.lib ws2_32.lib libpng.lib zlibstat.lib lzo2.lib liblzma.lib libfreetype2.lib icuuc.lib icuin.lib icudt.lib icule.lib iculx.lib"
|
||||||
LinkIncremental="0"
|
LinkIncremental="0"
|
||||||
SuppressStartupBanner="true"
|
SuppressStartupBanner="true"
|
||||||
IgnoreDefaultLibraryNames="LIBCMT.lib"
|
IgnoreDefaultLibraryNames="LIBCMT.lib"
|
||||||
|
|
|
@ -88,7 +88,7 @@
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCLinkerTool"
|
Name="VCLinkerTool"
|
||||||
AdditionalDependencies="winmm.lib ws2_32.lib libpng.lib zlibstat.lib lzo2.lib liblzma.lib libfreetype2.lib icuuc.lib icuin.lib icudt.lib"
|
AdditionalDependencies="winmm.lib ws2_32.lib libpng.lib zlibstat.lib lzo2.lib liblzma.lib libfreetype2.lib icuuc.lib icuin.lib icudt.lib icule.lib iculx.lib"
|
||||||
LinkIncremental="1"
|
LinkIncremental="1"
|
||||||
SuppressStartupBanner="true"
|
SuppressStartupBanner="true"
|
||||||
IgnoreDefaultLibraryNames=""
|
IgnoreDefaultLibraryNames=""
|
||||||
|
@ -183,7 +183,7 @@
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCLinkerTool"
|
Name="VCLinkerTool"
|
||||||
AdditionalDependencies="winmm.lib ws2_32.lib libpng.lib zlibstat.lib lzo2.lib liblzma.lib libfreetype2.lib icuuc.lib icuin.lib icudt.lib"
|
AdditionalDependencies="winmm.lib ws2_32.lib libpng.lib zlibstat.lib lzo2.lib liblzma.lib libfreetype2.lib icuuc.lib icuin.lib icudt.lib icule.lib iculx.lib"
|
||||||
LinkIncremental="0"
|
LinkIncremental="0"
|
||||||
SuppressStartupBanner="true"
|
SuppressStartupBanner="true"
|
||||||
IgnoreDefaultLibraryNames="LIBCMT.lib"
|
IgnoreDefaultLibraryNames="LIBCMT.lib"
|
||||||
|
@ -290,7 +290,7 @@
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCLinkerTool"
|
Name="VCLinkerTool"
|
||||||
AdditionalDependencies="winmm.lib ws2_32.lib libpng.lib zlibstat.lib lzo2.lib liblzma.lib libfreetype2.lib icuuc.lib icuin.lib icudt.lib"
|
AdditionalDependencies="winmm.lib ws2_32.lib libpng.lib zlibstat.lib lzo2.lib liblzma.lib libfreetype2.lib icuuc.lib icuin.lib icudt.lib icule.lib iculx.lib"
|
||||||
LinkIncremental="1"
|
LinkIncremental="1"
|
||||||
SuppressStartupBanner="true"
|
SuppressStartupBanner="true"
|
||||||
IgnoreDefaultLibraryNames=""
|
IgnoreDefaultLibraryNames=""
|
||||||
|
@ -389,7 +389,7 @@
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCLinkerTool"
|
Name="VCLinkerTool"
|
||||||
AdditionalDependencies="winmm.lib ws2_32.lib libpng.lib zlibstat.lib lzo2.lib liblzma.lib libfreetype2.lib icuuc.lib icuin.lib icudt.lib"
|
AdditionalDependencies="winmm.lib ws2_32.lib libpng.lib zlibstat.lib lzo2.lib liblzma.lib libfreetype2.lib icuuc.lib icuin.lib icudt.lib icule.lib iculx.lib"
|
||||||
LinkIncremental="0"
|
LinkIncremental="0"
|
||||||
SuppressStartupBanner="true"
|
SuppressStartupBanner="true"
|
||||||
IgnoreDefaultLibraryNames="LIBCMT.lib"
|
IgnoreDefaultLibraryNames="LIBCMT.lib"
|
||||||
|
|
|
@ -88,7 +88,7 @@
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCLinkerTool"
|
Name="VCLinkerTool"
|
||||||
AdditionalDependencies="winmm.lib ws2_32.lib libpng.lib zlibstat.lib lzo2.lib liblzma.lib libfreetype2.lib icuuc.lib icuin.lib icudt.lib"
|
AdditionalDependencies="winmm.lib ws2_32.lib libpng.lib zlibstat.lib lzo2.lib liblzma.lib libfreetype2.lib icuuc.lib icuin.lib icudt.lib icule.lib iculx.lib"
|
||||||
LinkIncremental="1"
|
LinkIncremental="1"
|
||||||
SuppressStartupBanner="true"
|
SuppressStartupBanner="true"
|
||||||
IgnoreDefaultLibraryNames=""
|
IgnoreDefaultLibraryNames=""
|
||||||
|
@ -183,7 +183,7 @@
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCLinkerTool"
|
Name="VCLinkerTool"
|
||||||
AdditionalDependencies="winmm.lib ws2_32.lib libpng.lib zlibstat.lib lzo2.lib liblzma.lib libfreetype2.lib icuuc.lib icuin.lib icudt.lib"
|
AdditionalDependencies="winmm.lib ws2_32.lib libpng.lib zlibstat.lib lzo2.lib liblzma.lib libfreetype2.lib icuuc.lib icuin.lib icudt.lib icule.lib iculx.lib"
|
||||||
LinkIncremental="0"
|
LinkIncremental="0"
|
||||||
SuppressStartupBanner="true"
|
SuppressStartupBanner="true"
|
||||||
IgnoreDefaultLibraryNames="LIBCMT.lib"
|
IgnoreDefaultLibraryNames="LIBCMT.lib"
|
||||||
|
@ -290,7 +290,7 @@
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCLinkerTool"
|
Name="VCLinkerTool"
|
||||||
AdditionalDependencies="winmm.lib ws2_32.lib libpng.lib zlibstat.lib lzo2.lib liblzma.lib libfreetype2.lib icuuc.lib icuin.lib icudt.lib"
|
AdditionalDependencies="winmm.lib ws2_32.lib libpng.lib zlibstat.lib lzo2.lib liblzma.lib libfreetype2.lib icuuc.lib icuin.lib icudt.lib icule.lib iculx.lib"
|
||||||
LinkIncremental="1"
|
LinkIncremental="1"
|
||||||
SuppressStartupBanner="true"
|
SuppressStartupBanner="true"
|
||||||
IgnoreDefaultLibraryNames=""
|
IgnoreDefaultLibraryNames=""
|
||||||
|
@ -389,7 +389,7 @@
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCLinkerTool"
|
Name="VCLinkerTool"
|
||||||
AdditionalDependencies="winmm.lib ws2_32.lib libpng.lib zlibstat.lib lzo2.lib liblzma.lib libfreetype2.lib icuuc.lib icuin.lib icudt.lib"
|
AdditionalDependencies="winmm.lib ws2_32.lib libpng.lib zlibstat.lib lzo2.lib liblzma.lib libfreetype2.lib icuuc.lib icuin.lib icudt.lib icule.lib iculx.lib"
|
||||||
LinkIncremental="0"
|
LinkIncremental="0"
|
||||||
SuppressStartupBanner="true"
|
SuppressStartupBanner="true"
|
||||||
IgnoreDefaultLibraryNames="LIBCMT.lib"
|
IgnoreDefaultLibraryNames="LIBCMT.lib"
|
||||||
|
|
|
@ -12,9 +12,14 @@
|
||||||
#include "stdafx.h"
|
#include "stdafx.h"
|
||||||
#include "gfx_layout.h"
|
#include "gfx_layout.h"
|
||||||
#include "string_func.h"
|
#include "string_func.h"
|
||||||
|
#include "strings_func.h"
|
||||||
|
|
||||||
#include "table/control_codes.h"
|
#include "table/control_codes.h"
|
||||||
|
|
||||||
|
#ifdef WITH_ICU
|
||||||
|
#include <unicode/ustring.h>
|
||||||
|
#endif /* WITH_ICU */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Construct a new font.
|
* Construct a new font.
|
||||||
* @param size The font size to use for this font.
|
* @param size The font size to use for this font.
|
||||||
|
@ -26,6 +31,103 @@ Font::Font(FontSize size, TextColour colour) :
|
||||||
assert(size < FS_END);
|
assert(size < FS_END);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef WITH_ICU
|
||||||
|
/* Implementation details of LEFontInstance */
|
||||||
|
|
||||||
|
le_int32 Font::getUnitsPerEM() const
|
||||||
|
{
|
||||||
|
return this->fc->GetUnitsPerEM();
|
||||||
|
}
|
||||||
|
|
||||||
|
le_int32 Font::getAscent() const
|
||||||
|
{
|
||||||
|
return this->fc->GetAscender();
|
||||||
|
}
|
||||||
|
|
||||||
|
le_int32 Font::getDescent() const
|
||||||
|
{
|
||||||
|
return -this->fc->GetDescender();
|
||||||
|
}
|
||||||
|
|
||||||
|
le_int32 Font::getLeading() const
|
||||||
|
{
|
||||||
|
return this->fc->GetHeight();
|
||||||
|
}
|
||||||
|
|
||||||
|
float Font::getXPixelsPerEm() const
|
||||||
|
{
|
||||||
|
return (float)this->fc->GetHeight();
|
||||||
|
}
|
||||||
|
|
||||||
|
float Font::getYPixelsPerEm() const
|
||||||
|
{
|
||||||
|
return (float)this->fc->GetHeight();
|
||||||
|
}
|
||||||
|
|
||||||
|
float Font::getScaleFactorX() const
|
||||||
|
{
|
||||||
|
return 1.0f;
|
||||||
|
}
|
||||||
|
|
||||||
|
float Font::getScaleFactorY() const
|
||||||
|
{
|
||||||
|
return 1.0f;
|
||||||
|
}
|
||||||
|
|
||||||
|
const void *Font::getFontTable(LETag tableTag) const
|
||||||
|
{
|
||||||
|
return this->fc->GetFontTable(tableTag);
|
||||||
|
}
|
||||||
|
|
||||||
|
LEGlyphID Font::mapCharToGlyph(LEUnicode32 ch) const
|
||||||
|
{
|
||||||
|
if (IsTextDirectionChar(ch)) return 0;
|
||||||
|
return this->fc->MapCharToGlyph(ch);
|
||||||
|
}
|
||||||
|
|
||||||
|
void Font::getGlyphAdvance(LEGlyphID glyph, LEPoint &advance) const
|
||||||
|
{
|
||||||
|
advance.fX = glyph == 0xFFFF ? 0 : this->fc->GetGlyphWidth(glyph);
|
||||||
|
advance.fY = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
le_bool Font::getGlyphPoint(LEGlyphID glyph, le_int32 pointNumber, LEPoint &point) const
|
||||||
|
{
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
size_t Layouter::AppendToBuffer(UChar *buff, const UChar *buffer_last, WChar c)
|
||||||
|
{
|
||||||
|
/* Transform from UTF-32 to internal ICU format of UTF-16. */
|
||||||
|
int32 length = 0;
|
||||||
|
UErrorCode err = U_ZERO_ERROR;
|
||||||
|
u_strFromUTF32(buff, buffer_last - buff, &length, (UChar32*)&c, 1, &err);
|
||||||
|
return length;
|
||||||
|
}
|
||||||
|
|
||||||
|
ParagraphLayout *Layouter::GetParagraphLayout(UChar *buff)
|
||||||
|
{
|
||||||
|
int32 length = buff - this->buffer;
|
||||||
|
|
||||||
|
if (length == 0) {
|
||||||
|
/* ICU's ParagraphLayout cannot handle empty strings, so fake one. */
|
||||||
|
this->buffer[0] = ' ';
|
||||||
|
length = 1;
|
||||||
|
this->fonts.End()[-1].first++;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Fill ICU's FontRuns with the right data. */
|
||||||
|
FontRuns runs(this->fonts.Length());
|
||||||
|
for (FontMap::iterator iter = this->fonts.Begin(); iter != this->fonts.End(); iter++) {
|
||||||
|
runs.add(iter->second, iter->first);
|
||||||
|
}
|
||||||
|
|
||||||
|
LEErrorCode status = LE_NO_ERROR;
|
||||||
|
return new ParagraphLayout(this->buffer, length, &runs, NULL, NULL, NULL, _current_text_dir == TD_RTL ? UBIDI_DEFAULT_RTL : UBIDI_DEFAULT_LTR, false, status);
|
||||||
|
}
|
||||||
|
|
||||||
|
#else /* WITH_ICU */
|
||||||
|
|
||||||
/*** Paragraph layout ***/
|
/*** Paragraph layout ***/
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -276,6 +378,7 @@ ParagraphLayout *Layouter::GetParagraphLayout(WChar *buff_end)
|
||||||
{
|
{
|
||||||
return new ParagraphLayout(this->buffer, buff_end - this->buffer, this->fonts);
|
return new ParagraphLayout(this->buffer, buff_end - this->buffer, this->fonts);
|
||||||
}
|
}
|
||||||
|
#endif /* !WITH_ICU */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Create a new layouter.
|
* Create a new layouter.
|
||||||
|
|
|
@ -16,20 +16,45 @@
|
||||||
#include "gfx_func.h"
|
#include "gfx_func.h"
|
||||||
#include "core/smallmap_type.hpp"
|
#include "core/smallmap_type.hpp"
|
||||||
|
|
||||||
|
#ifdef WITH_ICU
|
||||||
|
#include "layout/ParagraphLayout.h"
|
||||||
|
#define ICU_FONTINSTANCE : public LEFontInstance
|
||||||
|
#else /* WITH_ICU */
|
||||||
|
#define ICU_FONTINSTANCE
|
||||||
|
#endif /* WITH_ICU */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Container with information about a font.
|
* Container with information about a font.
|
||||||
*/
|
*/
|
||||||
class Font {
|
class Font ICU_FONTINSTANCE {
|
||||||
public:
|
public:
|
||||||
FontCache *fc; ///< The font we are using.
|
FontCache *fc; ///< The font we are using.
|
||||||
TextColour colour; ///< The colour this font has to be.
|
TextColour colour; ///< The colour this font has to be.
|
||||||
|
|
||||||
Font(FontSize size, TextColour colour);
|
Font(FontSize size, TextColour colour);
|
||||||
|
|
||||||
|
#ifdef WITH_ICU
|
||||||
|
/* Implementation details of LEFontInstance */
|
||||||
|
|
||||||
|
le_int32 getUnitsPerEM() const;
|
||||||
|
le_int32 getAscent() const;
|
||||||
|
le_int32 getDescent() const;
|
||||||
|
le_int32 getLeading() const;
|
||||||
|
float getXPixelsPerEm() const;
|
||||||
|
float getYPixelsPerEm() const;
|
||||||
|
float getScaleFactorX() const;
|
||||||
|
float getScaleFactorY() const;
|
||||||
|
const void *getFontTable(LETag tableTag) const;
|
||||||
|
LEGlyphID mapCharToGlyph(LEUnicode32 ch) const;
|
||||||
|
void getGlyphAdvance(LEGlyphID glyph, LEPoint &advance) const;
|
||||||
|
le_bool getGlyphPoint(LEGlyphID glyph, le_int32 pointNumber, LEPoint &point) const;
|
||||||
|
#endif /* WITH_ICU */
|
||||||
};
|
};
|
||||||
|
|
||||||
/** Mapping from index to font. */
|
/** Mapping from index to font. */
|
||||||
typedef SmallMap<int, Font *> FontMap;
|
typedef SmallMap<int, Font *> FontMap;
|
||||||
|
|
||||||
|
#ifndef WITH_ICU
|
||||||
/**
|
/**
|
||||||
* Class handling the splitting of a paragraph of text into lines and
|
* Class handling the splitting of a paragraph of text into lines and
|
||||||
* visual runs.
|
* visual runs.
|
||||||
|
@ -85,6 +110,7 @@ public:
|
||||||
ParagraphLayout(WChar *buffer, int length, FontMap &runs);
|
ParagraphLayout(WChar *buffer, int length, FontMap &runs);
|
||||||
Line *nextLine(int max_width);
|
Line *nextLine(int max_width);
|
||||||
};
|
};
|
||||||
|
#endif /* !WITH_ICU */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The layouter performs all the layout work.
|
* The layouter performs all the layout work.
|
||||||
|
@ -92,7 +118,11 @@ public:
|
||||||
* It also accounts for the memory allocations and frees.
|
* It also accounts for the memory allocations and frees.
|
||||||
*/
|
*/
|
||||||
class Layouter : public AutoDeleteSmallVector<ParagraphLayout::Line *, 4> {
|
class Layouter : public AutoDeleteSmallVector<ParagraphLayout::Line *, 4> {
|
||||||
|
#ifdef WITH_ICU
|
||||||
|
typedef UChar CharType; ///< The type of character used within the layouter.
|
||||||
|
#else /* WITH_ICU */
|
||||||
typedef WChar CharType; ///< The type of character used within the layouter.
|
typedef WChar CharType; ///< The type of character used within the layouter.
|
||||||
|
#endif /* WITH_ICU */
|
||||||
|
|
||||||
size_t AppendToBuffer(CharType *buff, const CharType *buffer_last, WChar c);
|
size_t AppendToBuffer(CharType *buff, const CharType *buffer_last, WChar c);
|
||||||
ParagraphLayout *GetParagraphLayout(CharType *buff);
|
ParagraphLayout *GetParagraphLayout(CharType *buff);
|
||||||
|
|
Loading…
Reference in New Issue