Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Graphic Ui
提交
d8cad95c
G
Graphic Ui
项目概览
OpenHarmony
/
Graphic Ui
大约 1 年 前同步成功
通知
13
Star
2
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
G
Graphic Ui
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
未验证
提交
d8cad95c
编写于
12月 01, 2022
作者:
O
openharmony_ci
提交者:
Gitee
12月 01, 2022
浏览文件
操作
浏览文件
下载
差异文件
!825 修复换行异常
Merge pull request !825 from 张兴泰/master
上级
50d99860
dd850f5c
变更
3
显示空白变更内容
内联
并排
Showing
3 changed file
with
17 addition
and
17 deletion
+17
-17
frameworks/font/ui_line_break.cpp
frameworks/font/ui_line_break.cpp
+16
-16
tools/qt/simulator/font/line_cj.brk
tools/qt/simulator/font/line_cj.brk
+0
-0
tools/qt/simulator/third_party/icu/icu.pro
tools/qt/simulator/third_party/icu/icu.pro
+1
-1
未找到文件。
frameworks/font/ui_line_break.cpp
浏览文件 @
d8cad95c
...
...
@@ -21,7 +21,7 @@
#include "font/icu_umutex_stub.h"
#include "rbbidata.h"
#include "ucmndata.h"
#include "u
trie2
.h"
#include "u
nicode/ucptrie
.h"
using
namespace
U_ICU_NAMESPACE
;
namespace
OHOS
{
...
...
@@ -57,20 +57,20 @@ uint16_t UILineBreakEngine::GetNextBreakPos(UILineBreakProxy& record)
}
int32_t
state
=
LINE_BREAK_STATE_START
;
const
RBBIStateTable
*
rbbStateTable
=
reinterpret_cast
<
const
RBBIStateTable
*>
(
stateTbl_
);
const
RBBIStateTableRow
16
*
row
=
reinterpret_cast
<
const
RBBIStateTableRow
16
*>
(
rbbStateTable
->
fTableData
+
rbbStateTable
->
fRowLen
*
state
);
U
Trie2
*
trie2
=
reinterpret_cast
<
UTrie2
*>
(
lineBreakTrie_
);
const
RBBIStateTableRow
8
*
row
=
reinterpret_cast
<
const
RBBIStateTableRow
8
*>
(
rbbStateTable
->
fTableData
+
rbbStateTable
->
fRowLen
*
state
);
U
CPTrie
*
trie
=
reinterpret_cast
<
UCPTrie
*>
(
lineBreakTrie_
);
for
(
uint16_t
index
=
0
;
index
<
record
.
GetStrLen
();
++
index
)
{
uint16_t
category
=
U
TRIE2_GET16
(
trie2
,
static_cast
<
uint32_t
>
(
str
[
index
])
);
uint16_t
category
=
U
CPTRIE_FAST_GET
(
trie
,
UCPTRIE_8
,
str
[
index
]
);
// 0x4000: remove the dictionary flag bit
if
((
category
&
0x4000
)
!=
0
)
{
// 0x4000: remove the dictionary flag bit
category
&=
~
0x4000
;
}
state
=
row
->
fNextState
[
category
];
row
=
reinterpret_cast
<
const
RBBIStateTableRow
16
*>
(
rbbStateTable
->
fTableData
+
rbbStateTable
->
fRowLen
*
state
);
row
=
reinterpret_cast
<
const
RBBIStateTableRow
8
*>
(
rbbStateTable
->
fTableData
+
rbbStateTable
->
fRowLen
*
state
);
int16_t
completedRule
=
row
->
fAccepting
;
if
((
completedRule
>
0
)
||
(
state
==
LINE_BREAK_STATE_STOP
))
{
if
((
completedRule
>
1
)
||
(
state
==
LINE_BREAK_STATE_STOP
))
{
return
index
;
}
}
...
...
@@ -101,8 +101,8 @@ void UILineBreakEngine::LoadRule()
const
RBBIDataHeader
*
rbbidh
=
reinterpret_cast
<
const
RBBIDataHeader
*>
(
dataInBytes
+
dh
->
dataHeader
.
headerSize
);
stateTbl_
=
reinterpret_cast
<
const
RBBIStateTable
*>
(
reinterpret_cast
<
const
char
*>
(
rbbidh
)
+
rbbidh
->
fFTable
);
status
=
U_ZERO_ERROR
;
lineBreakTrie_
=
reinterpret_cast
<
U
Trie2
*>
(
u
trie2_openFromSerialized
(
UTRIE2_16_VALUE_BITS
,
reinterpret_cast
<
const
uint8_t
*>
(
rbbidh
)
+
rbbidh
->
fTrie
,
lineBreakTrie_
=
reinterpret_cast
<
U
CPTrie
*>
(
u
cptrie_openFromBinary
(
UCPTRIE_TYPE_FAST
,
UCPTRIE_VALUE_BITS_8
,
reinterpret_cast
<
const
uint8_t
*>
(
rbbidh
)
+
rbbidh
->
fTrie
,
rbbidh
->
fTrieLen
,
nullptr
,
&
status
));
if
(
status
!=
U_ZERO_ERROR
)
{
return
;
...
...
@@ -197,33 +197,33 @@ bool UILineBreakEngine::IsBreakPos(uint32_t unicode, uint16_t fontId, uint8_t fo
return
true
;
}
const
RBBIStateTable
*
rbbStateTable
=
reinterpret_cast
<
const
RBBIStateTable
*>
(
stateTbl_
);
const
RBBIStateTableRow
16
*
row
=
reinterpret_cast
<
const
RBBIStateTableRow
16
*>
(
rbbStateTable
->
fTableData
+
rbbStateTable
->
fRowLen
*
state
);
const
RBBIStateTableRow
8
*
row
=
reinterpret_cast
<
const
RBBIStateTableRow
8
*>
(
rbbStateTable
->
fTableData
+
rbbStateTable
->
fRowLen
*
state
);
uint16_t
utf16
=
0
;
if
(
unicode
<=
TypedText
::
MAX_UINT16_LOW_SCOPE
)
{
utf16
=
(
unicode
&
TypedText
::
MAX_UINT16_LOW_SCOPE
);
}
else
if
(
unicode
<=
TypedText
::
MAX_UINT16_HIGH_SCOPE
)
{
utf16
=
static_cast
<
uint16_t
>
(
TypedText
::
UTF16_LOW_PARAM
+
(
unicode
&
TypedText
::
UTF16_LOW_MASK
));
// low
uint16_t
category
=
U
TRIE2_GET16
(
reinterpret_cast
<
UTrie2
*>
(
lineBreakTrie_
),
static_cast
<
uint32_t
>
(
utf16
)
);
uint16_t
category
=
U
CPTRIE_FAST_GET
(
reinterpret_cast
<
UCPTrie
*>
(
lineBreakTrie_
),
UCPTRIE_8
,
utf16
);
// 0x4000: remove the dictionary flag bit
if
((
category
&
0x4000
)
!=
0
)
{
// 0x4000: remove the dictionary flag bit
category
&=
~
0x4000
;
}
state
=
row
->
fNextState
[
category
];
row
=
reinterpret_cast
<
const
RBBIStateTableRow
16
*>
(
rbbStateTable
->
fTableData
+
rbbStateTable
->
fRowLen
*
state
);
row
=
reinterpret_cast
<
const
RBBIStateTableRow
8
*>
(
rbbStateTable
->
fTableData
+
rbbStateTable
->
fRowLen
*
state
);
utf16
=
static_cast
<
uint16_t
>
(
TypedText
::
UTF16_HIGH_PARAM1
+
(
unicode
>>
TypedText
::
UTF16_HIGH_SHIFT
)
-
TypedText
::
UTF16_HIGH_PARAM2
);
// high
}
uint16_t
category
=
U
TRIE2_GET16
(
reinterpret_cast
<
UTrie2
*>
(
lineBreakTrie_
),
static_cast
<
uint32_t
>
(
utf16
)
);
uint16_t
category
=
U
CPTRIE_FAST_GET
(
reinterpret_cast
<
UCPTrie
*>
(
lineBreakTrie_
),
UCPTRIE_8
,
utf16
);
// 0x4000: remove the dictionary flag bit
if
((
category
&
0x4000
)
!=
0
)
{
// 0x4000: remove the dictionary flag bit
category
&=
~
0x4000
;
}
state
=
row
->
fNextState
[
category
];
row
=
reinterpret_cast
<
const
RBBIStateTableRow
16
*>
(
rbbStateTable
->
fTableData
+
rbbStateTable
->
fRowLen
*
state
);
return
(
row
->
fAccepting
>
0
||
state
==
LINE_BREAK_STATE_STOP
);
row
=
reinterpret_cast
<
const
RBBIStateTableRow
8
*>
(
rbbStateTable
->
fTableData
+
rbbStateTable
->
fRowLen
*
state
);
return
(
row
->
fAccepting
>
1
||
state
==
LINE_BREAK_STATE_STOP
);
}
}
// namespace OHOS
#endif // ENABLE_ICU
tools/qt/simulator/font/line_cj.brk
浏览文件 @
d8cad95c
无法预览此类型文件
tools/qt/simulator/third_party/icu/icu.pro
浏览文件 @
d8cad95c
...
...
@@ -29,7 +29,7 @@ SOURCES += \
..
/../../../../../../../
third_party
/
icu
/
icu4c
/
source
/
common
/
uinvchar
.
cpp
\
..
/../../../../../../../
third_party
/
icu
/
icu4c
/
source
/
common
/
ustring
.
cpp
\
..
/../../../../../../../
third_party
/
icu
/
icu4c
/
source
/
common
/
utf_impl
.
cpp
\
..
/../../../../../../../
third_party
/
icu
/
icu4c
/
source
/
common
/
u
trie2
.
cpp
..
/../../../../../../../
third_party
/
icu
/
icu4c
/
source
/
common
/
u
cptrie
.
cpp
INCLUDEPATH
+=
\
..
/../../../../../../../
third_party
/
icu
/
icu4c
/
source
/
common
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录