Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Third Party Harfbuzz
提交
257d0e5a
T
Third Party Harfbuzz
项目概览
OpenHarmony
/
Third Party Harfbuzz
接近 2 年 前同步成功
通知
1
Star
18
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
T
Third Party Harfbuzz
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
257d0e5a
编写于
10月 19, 2018
作者:
B
Bruce Mitchener
提交者:
Ebrahim Byagowi
10月 19, 2018
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Fix typos.
上级
b7cef8cb
变更
11
隐藏空白更改
内联
并排
Showing
11 changed file
with
17 addition
and
17 deletion
+17
-17
BUILD.md
BUILD.md
+1
-1
CMakeLists.txt
CMakeLists.txt
+4
-4
README.python.md
README.python.md
+1
-1
README.wine.md
README.wine.md
+3
-3
src/hb-machinery.hh
src/hb-machinery.hh
+1
-1
src/hb-null.hh
src/hb-null.hh
+2
-2
src/hb-open-file.hh
src/hb-open-file.hh
+1
-1
src/hb-ot-layout-common.hh
src/hb-ot-layout-common.hh
+1
-1
src/hb-ot-layout-gdef-table.hh
src/hb-ot-layout-gdef-table.hh
+1
-1
src/hb-ot-layout-gsub-table.hh
src/hb-ot-layout-gsub-table.hh
+1
-1
src/hb-ot-layout-gsubgpos.hh
src/hb-ot-layout-gsubgpos.hh
+1
-1
未找到文件。
BUILD.md
浏览文件 @
257d0e5a
...
@@ -26,7 +26,7 @@ as with any other standard package. That should leave you with a shared
...
@@ -26,7 +26,7 @@ as with any other standard package. That should leave you with a shared
library in
`src/`
, and a few utility programs including
`hb-view`
and
`hb-shape`
library in
`src/`
, and a few utility programs including
`hb-view`
and
`hb-shape`
under
`util/`
.
under
`util/`
.
If you are bootstraping from git, you need a few more tools before you can
If you are bootstrap
p
ing from git, you need a few more tools before you can
run
`autogen.sh`
for the first time. Namely,
`pkg-config`
and
`ragel`
.
run
`autogen.sh`
for the first time. Namely,
`pkg-config`
and
`ragel`
.
Again, on Ubuntu / Debian:
Again, on Ubuntu / Debian:
...
...
CMakeLists.txt
浏览文件 @
257d0e5a
...
@@ -107,10 +107,10 @@ include (CheckFunctionExists)
...
@@ -107,10 +107,10 @@ include (CheckFunctionExists)
include
(
CheckIncludeFile
)
include
(
CheckIncludeFile
)
macro
(
check_funcs
)
# Similar to AC_CHECK_FUNCS of autotools
macro
(
check_funcs
)
# Similar to AC_CHECK_FUNCS of autotools
foreach
(
func_name
${
ARGN
}
)
foreach
(
func_name
${
ARGN
}
)
string
(
TOUPPER
${
func_name
}
definiton_to_add
)
string
(
TOUPPER
${
func_name
}
definit
i
on_to_add
)
check_function_exists
(
${
func_name
}
HAVE_
${
definiton_to_add
}
)
check_function_exists
(
${
func_name
}
HAVE_
${
definit
i
on_to_add
}
)
if
(
${
HAVE_
${
definiton_to_add
}}
)
if
(
${
HAVE_
${
definit
i
on_to_add
}}
)
add_definitions
(
-DHAVE_
${
definiton_to_add
}
)
add_definitions
(
-DHAVE_
${
definit
i
on_to_add
}
)
endif
()
endif
()
endforeach
()
endforeach
()
endmacro
()
endmacro
()
...
...
README.python.md
浏览文件 @
257d0e5a
...
@@ -23,7 +23,7 @@ Then make sure you also have GI_TYPELIB_PATH pointing to the resulting
...
@@ -23,7 +23,7 @@ Then make sure you also have GI_TYPELIB_PATH pointing to the resulting
$prefix/lib/girepository-
*
directory.
$prefix/lib/girepository-
*
directory.
Make sure you have pygobject installed. Then check that the following
Make sure you have pygobject installed. Then check that the following
import works in your Python interpret
t
er:
import works in your Python interpreter:
```
python
```
python
from
gi.repository
import
HarfBuzz
from
gi.repository
import
HarfBuzz
...
...
README.wine.md
浏览文件 @
257d0e5a
For the development of HarfBuzz, the Microsoft shaping technology, Uniscribe,
For the development of HarfBuzz, the Microsoft shaping technology, Uniscribe,
as a widely used and tested shaper is used as more-or-less OpenType reference
as a widely used and tested shaper is used as more-or-less OpenType reference
implemen
e
tation and that specially is important where OpenType specification
implementation and that specially is important where OpenType specification
is or wasn't that clear. For having access to Uniscribe on Linux/macOS these
is or wasn't that clear. For having access to Uniscribe on Linux/macOS these
steps are recommended:
steps are recommended:
...
@@ -27,8 +27,8 @@ steps are recommended:
...
@@ -27,8 +27,8 @@ steps are recommended:
Now you can use hb-shape using
`wine winbuild/util/hb-shape.exe`
but if you like to
Now you can use hb-shape using
`wine winbuild/util/hb-shape.exe`
but if you like to
to use the original Uniscribe,
to use the original Uniscribe,
8.
Bring a 32bit version of
`usp10.dll`
for youself from
`C:\Windows\SysWOW64\usp10.dll`
of your
8.
Bring a 32bit version of
`usp10.dll`
for you
r
self from
`C:\Windows\SysWOW64\usp10.dll`
of your
Windows installation (asuming you have a 64-bit installation, otherwise
`C:\Windows\System32\usp10.dll`
)
Windows installation (as
s
uming you have a 64-bit installation, otherwise
`C:\Windows\System32\usp10.dll`
)
that it is not a DirectWrite proxy (
[
for more info
](
https://en.wikipedia.org/wiki/Uniscribe
)
).
that it is not a DirectWrite proxy (
[
for more info
](
https://en.wikipedia.org/wiki/Uniscribe
)
).
Rule of thumb, your
`usp10.dll`
should have a size more than 500kb, otherwise
Rule of thumb, your
`usp10.dll`
should have a size more than 500kb, otherwise
it is designed to work with DirectWrite which Wine can't work with its original one.
it is designed to work with DirectWrite which Wine can't work with its original one.
...
...
src/hb-machinery.hh
浏览文件 @
257d0e5a
...
@@ -204,7 +204,7 @@ struct hb_dispatch_context_t
...
@@ -204,7 +204,7 @@ struct hb_dispatch_context_t
* The same argument can be made re GSUB/GPOS/GDEF, but there, the table
* The same argument can be made re GSUB/GPOS/GDEF, but there, the table
* structure is so complicated that by checking all offsets at sanitize() time,
* structure is so complicated that by checking all offsets at sanitize() time,
* we make the code much simpler in other methods, as offsets and referenced
* we make the code much simpler in other methods, as offsets and referenced
* object
e
s do not need to be validated at each use site.
* objects do not need to be validated at each use site.
*/
*/
/* This limits sanitizing time on really broken fonts. */
/* This limits sanitizing time on really broken fonts. */
...
...
src/hb-null.hh
浏览文件 @
257d0e5a
...
@@ -49,7 +49,7 @@ static inline Type const & Null (void) {
...
@@ -49,7 +49,7 @@ static inline Type const & Null (void) {
}
}
#define Null(Type) Null<Type>()
#define Null(Type) Null<Type>()
/* Specializa
it
ons for arbitrary-content Null objects expressed in bytes. */
/* Specializa
ti
ons for arbitrary-content Null objects expressed in bytes. */
#define DECLARE_NULL_NAMESPACE_BYTES(Namespace, Type) \
#define DECLARE_NULL_NAMESPACE_BYTES(Namespace, Type) \
}
/* Close namespace. */
\
}
/* Close namespace. */
\
extern HB_INTERNAL const unsigned char _hb_Null_##Namespace##_##Type[Namespace::Type::min_size]; \
extern HB_INTERNAL const unsigned char _hb_Null_##Namespace##_##Type[Namespace::Type::min_size]; \
...
@@ -62,7 +62,7 @@ static inline Type const & Null (void) {
...
@@ -62,7 +62,7 @@ static inline Type const & Null (void) {
#define DEFINE_NULL_NAMESPACE_BYTES(Namespace, Type) \
#define DEFINE_NULL_NAMESPACE_BYTES(Namespace, Type) \
const unsigned char _hb_Null_##Namespace##_##Type[Namespace::Type::min_size]
const unsigned char _hb_Null_##Namespace##_##Type[Namespace::Type::min_size]
/* Specializa
it
ons for arbitrary-content Null objects expressed as struct initializer. */
/* Specializa
ti
ons for arbitrary-content Null objects expressed as struct initializer. */
#define DECLARE_NULL_INSTANCE(Type) \
#define DECLARE_NULL_INSTANCE(Type) \
extern HB_INTERNAL const Type _hb_Null_##Type; \
extern HB_INTERNAL const Type _hb_Null_##Type; \
template <> \
template <> \
...
...
src/hb-open-file.hh
浏览文件 @
257d0e5a
...
@@ -160,7 +160,7 @@ typedef struct OffsetTable
...
@@ -160,7 +160,7 @@ typedef struct OffsetTable
memcpy
(
start
,
hb_blob_get_data
(
blob
,
nullptr
),
rec
.
length
);
memcpy
(
start
,
hb_blob_get_data
(
blob
,
nullptr
),
rec
.
length
);
/* 4-byte al
l
ignment. */
/* 4-byte alignment. */
c
->
align
(
4
);
c
->
align
(
4
);
const
char
*
end
=
(
const
char
*
)
c
->
head
;
const
char
*
end
=
(
const
char
*
)
c
->
head
;
...
...
src/hb-ot-layout-common.hh
浏览文件 @
257d0e5a
...
@@ -718,7 +718,7 @@ struct Lookup
...
@@ -718,7 +718,7 @@ struct Lookup
return_trace
(
true
);
return_trace
(
true
);
}
}
/* Older compiler
e
s need this to NOT be locally defined in a function. */
/* Older compilers need this to NOT be locally defined in a function. */
template
<
typename
TSubTable
>
template
<
typename
TSubTable
>
struct
SubTableSubsetWrapper
struct
SubTableSubsetWrapper
{
{
...
...
src/hb-ot-layout-gdef-table.hh
浏览文件 @
257d0e5a
...
@@ -388,7 +388,7 @@ struct GDEF
...
@@ -388,7 +388,7 @@ struct GDEF
{
return
version
.
to_int
()
>=
0x00010003u
?
this
+
varStore
:
Null
(
VariationStore
);
}
{
return
version
.
to_int
()
>=
0x00010003u
?
this
+
varStore
:
Null
(
VariationStore
);
}
/* glyph_props is a 16-bit integer where the lower 8-bit have bits representing
/* glyph_props is a 16-bit integer where the lower 8-bit have bits representing
* glyph class and other bits, and high 8-bit
g
the mark attachment type (if any).
* glyph class and other bits, and high 8-bit the mark attachment type (if any).
* Not to be confused with lookup_props which is very similar. */
* Not to be confused with lookup_props which is very similar. */
inline
unsigned
int
get_glyph_props
(
hb_codepoint_t
glyph
)
const
inline
unsigned
int
get_glyph_props
(
hb_codepoint_t
glyph
)
const
{
{
...
...
src/hb-ot-layout-gsub-table.hh
浏览文件 @
257d0e5a
...
@@ -103,7 +103,7 @@ struct SingleSubstFormat1
...
@@ -103,7 +103,7 @@ struct SingleSubstFormat1
TRACE_SERIALIZE
(
this
);
TRACE_SERIALIZE
(
this
);
if
(
unlikely
(
!
c
->
extend_min
(
*
this
)))
return_trace
(
false
);
if
(
unlikely
(
!
c
->
extend_min
(
*
this
)))
return_trace
(
false
);
if
(
unlikely
(
!
coverage
.
serialize
(
c
,
this
).
serialize
(
c
,
glyphs
,
num_glyphs
)))
return_trace
(
false
);
if
(
unlikely
(
!
coverage
.
serialize
(
c
,
this
).
serialize
(
c
,
glyphs
,
num_glyphs
)))
return_trace
(
false
);
deltaGlyphID
.
set
(
delta
);
/* TODO(seri
la
ize) overflow? */
deltaGlyphID
.
set
(
delta
);
/* TODO(seri
al
ize) overflow? */
return_trace
(
true
);
return_trace
(
true
);
}
}
...
...
src/hb-ot-layout-gsubgpos.hh
浏览文件 @
257d0e5a
...
@@ -582,7 +582,7 @@ struct hb_ot_apply_context_t :
...
@@ -582,7 +582,7 @@ struct hb_ot_apply_context_t :
add_in
|=
HB_OT_LAYOUT_GLYPH_PROPS_LIGATED
;
add_in
|=
HB_OT_LAYOUT_GLYPH_PROPS_LIGATED
;
/* In the only place that the MULTIPLIED bit is used, Uniscribe
/* In the only place that the MULTIPLIED bit is used, Uniscribe
* seems to only care about the "last" transformation between
* seems to only care about the "last" transformation between
* Ligature and Multiple substitions. Ie. if you ligate, expand,
* Ligature and Multiple substit
ut
ions. Ie. if you ligate, expand,
* and ligate again, it forgives the multiplication and acts as
* and ligate again, it forgives the multiplication and acts as
* if only ligation happened. As such, clear MULTIPLIED bit.
* if only ligation happened. As such, clear MULTIPLIED bit.
*/
*/
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录