[Libreoffice-commits] core.git: vcl/source
Khaled Hosny (via logerrit)
logerrit at kemper.freedesktop.org
Tue Jun 4 12:47:06 UTC 2019
vcl/source/gdi/CommonSalLayout.cxx | 13 +++++++++++++
1 file changed, 13 insertions(+)
New commits:
commit 8736cc0f5c6d4cb80ccb39ca6797d2f4490dade9
Author: Khaled Hosny <khaledhosny at eglug.org>
AuthorDate: Tue Jun 4 03:57:00 2019 +0200
Commit: Khaled Hosny <khaledhosny at eglug.org>
CommitDate: Tue Jun 4 14:46:24 2019 +0200
Use ICU UCHAR_VERTICAL_ORIENTATION when available
Starting from ICU 63, the vertical orientation property is provided by ICU so
we use it instead of our inyternal, and potentially outdated data file. Old
code is kept until support for ICU < 63 is dropped.
Change-Id: I0df1f3f5e853ca90945a36a8123bec9ae7f691cc
Reviewed-on: https://gerrit.libreoffice.org/73425
Tested-by: Jenkins
Reviewed-by: Mark Hung <marklh9 at gmail.com>
diff --git a/vcl/source/gdi/CommonSalLayout.cxx b/vcl/source/gdi/CommonSalLayout.cxx
index e146fb245131..90c519385bd2 100644
--- a/vcl/source/gdi/CommonSalLayout.cxx
+++ b/vcl/source/gdi/CommonSalLayout.cxx
@@ -121,6 +121,14 @@ namespace vcl {
} // namespace vcl
namespace {
+#if U_ICU_VERSION_MAJOR_NUM >= 63
+ enum class VerticalOrientation {
+ Upright = U_VO_UPRIGHT,
+ Rotated = U_VO_ROTATED,
+ TransformedUpright = U_VO_TRANSFORMED_UPRIGHT,
+ TransformedRotated = U_VO_TRANSFORMED_ROTATED
+ };
+#else
#include "VerticalOrientationData.cxx"
// These must match the values in the file included above.
@@ -130,6 +138,7 @@ namespace {
TransformedUpright = 2,
TransformedRotated = 3
};
+#endif
VerticalOrientation GetVerticalOrientation(sal_UCS4 cCh, const LanguageTag& rTag)
{
@@ -140,6 +149,9 @@ namespace {
&& rTag.getLanguage() == "zh")
return VerticalOrientation::TransformedUpright;
+#if U_ICU_VERSION_MAJOR_NUM >= 63
+ int32_t nRet = u_getIntPropertyValue(cCh, UCHAR_VERTICAL_ORIENTATION);
+#else
uint8_t nRet = 1;
if (cCh < 0x10000)
@@ -158,6 +170,7 @@ namespace {
// Default value for unassigned
SAL_WARN("vcl.gdi", "Getting VerticalOrientation for codepoint outside Unicode range");
}
+#endif
return VerticalOrientation(nRet);
}
More information about the Libreoffice-commits
mailing list