Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Third Party Harfbuzz
提交
1432ab15
T
Third Party Harfbuzz
项目概览
OpenHarmony
/
Third Party Harfbuzz
10 个月 前同步成功
通知
0
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看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
1432ab15
编写于
5月 22, 2010
作者:
M
Martin Hosken
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Add graphical output to hbtestfont
上级
cbd1d6a6
变更
6
隐藏空白更改
内联
并排
Showing
6 changed file
with
67 addition
and
103 deletion
+67
-103
contrib/python/lib/harfbuzz.pyx
contrib/python/lib/harfbuzz.pyx
+2
-98
contrib/python/scripts/hbtestfont
contrib/python/scripts/hbtestfont
+61
-1
src/Makefile.am
src/Makefile.am
+1
-1
src/hb-ot-shape.cc
src/hb-ot-shape.cc
+1
-1
src/hb-ot.h
src/hb-ot.h
+1
-1
src/hb-shape.cc
src/hb-shape.cc
+1
-1
未找到文件。
contrib/python/lib/harfbuzz.pyx
浏览文件 @
1432ab15
...
...
@@ -33,103 +33,7 @@ cdef extern from "hb-common.h" :
cdef
extern
from
"hb-unicode.h"
:
# there must be a better way of syncing this list with the true source
ctypedef
enum
hb_script_t
:
HB_SCRIPT_INVALID_CODE
=
-
1
,
HB_SCRIPT_COMMON
=
0
,
HB_SCRIPT_INHERITED
,
HB_SCRIPT_ARABIC
,
HB_SCRIPT_ARMENIAN
,
HB_SCRIPT_BENGALI
,
HB_SCRIPT_BOPOMOFO
,
HB_SCRIPT_CHEROKEE
,
HB_SCRIPT_DESERET
,
HB_SCRIPT_DEVANAGARI
,
HB_SCRIPT_ETHIOPIC
,
HB_SCRIPT_GEORGIAN
,
HB_SCRIPT_GOTHIC
,
HB_SCRIPT_GREEK
,
HB_SCRIPT_GUJARATI
,
HB_SCRIPT_GURMUKHI
,
HB_SCRIPT_HAN
,
HB_SCRIPT_HANGUL
,
HB_SCRIPT_HEBREW
,
HB_SCRIPT_HIRAGANA
,
HB_SCRIPT_KANNADA
,
HB_SCRIPT_KATAKANA
,
HB_SCRIPT_KHMER
,
HB_SCRIPT_LAO
,
HB_SCRIPT_LATIN
,
HB_SCRIPT_MALAYALAM
,
HB_SCRIPT_MONGOLIAN
,
HB_SCRIPT_MYANMAR
,
HB_SCRIPT_OGHAM
,
HB_SCRIPT_OLD_ITALIC
,
HB_SCRIPT_ORIYA
,
HB_SCRIPT_RUNIC
,
HB_SCRIPT_SINHALA
,
HB_SCRIPT_SYRIAC
,
HB_SCRIPT_TAMIL
,
HB_SCRIPT_TELUGU
,
HB_SCRIPT_THAANA
,
HB_SCRIPT_THAI
,
HB_SCRIPT_TIBETAN
,
HB_SCRIPT_CANADIAN_ABORIGINAL
,
HB_SCRIPT_YI
,
HB_SCRIPT_TAGALOG
,
HB_SCRIPT_HANUNDO
,
HB_SCRIPT_BUHID
,
HB_SCRIPT_TAGBANWA
,
# Unicode 4.0
HB_SCRIPT_BRAILLE
,
HB_SCRIPT_CYPRIOT
,
HB_SCRIPT_LIMBU
,
HB_SCRIPT_OSMANYA
,
HB_SCRIPT_SHAVIAN
,
HB_SCRIPT_LINEAR_B
,
HB_SCRIPT_TAI_LE
,
HB_SCRIPT_UGARITIC
,
# Unicode 4.1
HB_SCRIPT_NEW_TAI_LUE
,
HB_SCRIPT_BUGINESE
,
HB_SCRIPT_GLAGOLITIC
,
HB_SCRIPT_TIFINAGH
,
HB_SCRIPT_SYLOTI_NAGRI
,
HB_SCRIPT_OLD_PERSIAN
,
HB_SCRIPT_KHAROSHTHI
,
# Unicode 5.0
HB_SCRIPT_UNKNOWN
,
HB_SCRIPT_BALINESE
,
HB_SCRIPT_CUNEIFORM
,
HB_SCRIPT_PHOENICIAN
,
HB_SCRIPT_PHAGS_PA
,
HB_SCRIPT_NKO
,
# Unicode 5.1
HB_SCRIPT_KAYAH_LI
,
HB_SCRIPT_LEPCHA
,
HB_SCRIPT_REJANG
,
HB_SCRIPT_SUNDANESE
,
HB_SCRIPT_SAURASHTRA
,
HB_SCRIPT_CHAM
,
HB_SCRIPT_OL_CHIKI
,
HB_SCRIPT_VAI
,
HB_SCRIPT_CARIAN
,
HB_SCRIPT_LYCIAN
,
HB_SCRIPT_LYDIAN
# Unicode-5.2
HB_SCRIPT_AVESTAN
HB_SCRIPT_BAMUM
HB_SCRIPT_EGYPTIAN_HIEROGLYPHS
HB_SCRIPT_IMPERIAL_ARAMAIC
HB_SCRIPT_INSCRIPTIONAL_PAHLAVI
HB_SCRIPT_INSCRIPTIONAL_PARTHIAN
HB_SCRIPT_JAVANESE
HB_SCRIPT_KAITHI
HB_SCRIPT_LISU
HB_SCRIPT_MEITEI_MAYEK
HB_SCRIPT_OLD_SOUTH_ARABIAN
HB_SCRIPT_OLD_TURKIC
HB_SCRIPT_SAMARITAN
HB_SCRIPT_TAI_THAM
HB_SCRIPT_TAI_VIET
HB_SCRIPT_COMMON
=
0
cdef
extern
from
"hb-language.h"
:
ctypedef
void
*
hb_language_t
...
...
@@ -279,7 +183,7 @@ cdef class ft :
self
.
engine
=
engine
cdef
FT_Face
face
FT_New_Face
(
engine
,
fname
,
0
,
&
face
)
FT_Set_Char_Size
(
face
,
size
<<
6
,
size
<<
6
,
144
,
144
)
FT_Set_Char_Size
(
face
,
size
<<
6
,
size
<<
6
,
72
,
72
)
self
.
face
=
face
self
.
hbface
=
hb_ft_face_create
(
face
,
<
void
(
*
)(
void
*
)
>
hb_face_destroy
)
self
.
hbfont
=
hb_ft_font_create
(
face
,
<
void
(
*
)(
void
*
)
>
hb_font_destroy
)
...
...
contrib/python/scripts/hbtestfont
浏览文件 @
1432ab15
#!/usr/bin/python
import
harfbuzz
,
optparse
try
:
import
gtk
import
gobject
import
cairo
from
gtk
import
gdk
except
:
raise
SystemExit
import
pygtk
if
gtk
.
pygtk_version
<
(
2
,
8
)
:
print
"PyGtk 2.8 or later required"
raise
SystemExit
class
GlyphsWindow
(
gtk
.
Widget
)
:
def
__init__
(
self
,
fontname
,
size
,
glyphs
)
:
gtk
.
Widget
.
__init__
(
self
)
self
.
fontname
=
fontname
self
.
size
=
size
self
.
glyphs
=
glyphs
def
do_realize
(
self
)
:
self
.
set_flags
(
gtk
.
REALIZED
)
self
.
window
=
gdk
.
Window
(
self
.
get_parent_window
(),
width
=
self
.
allocation
.
width
,
height
=
self
.
allocation
.
height
,
window_type
=
gdk
.
WINDOW_CHILD
,
wclass
=
gdk
.
INPUT_OUTPUT
,
event_mask
=
self
.
get_events
()
|
gdk
.
EXPOSURE_MASK
)
self
.
window
.
set_user_data
(
self
)
self
.
style
.
attach
(
self
.
window
)
self
.
style
.
set_background
(
self
.
window
,
gtk
.
STATE_NORMAL
)
self
.
window
.
move_resize
(
*
self
.
allocation
)
def
do_unrealize
(
self
)
:
self
.
window
.
destroy
()
def
do_expose_event
(
self
,
event
)
:
cr
=
self
.
window
.
cairo_create
()
cr
.
set_matrix
(
cairo
.
Matrix
(
1
,
0
,
0
,
1
,
0
,
2
*
self
.
size
))
cr
.
set_font_face
(
cairo
.
ToyFontFace
(
self
.
fontname
))
cr
.
set_font_size
(
self
.
size
)
cr
.
show_glyphs
(
self
.
glyphs
)
# [(gid, originx, originy)]
buffer
=
None
...
...
@@ -17,10 +59,11 @@ p.add_option('-s', '--size', default=12, type="int", help="point size")
p
.
add_option
(
'-l'
,
'--lang'
,
help
=
"language code"
)
p
.
add_option
(
'-c'
,
'--script'
,
help
=
"script code"
)
p
.
add_option
(
'-f'
,
'--feature'
,
action
=
'append'
,
help
=
"define a feature key=val"
)
p
.
add_option
(
'-n'
,
'--fontname'
,
help
=
'Font to use to render glyphs'
)
p
.
add_option
(
'-d'
,
'--debug'
,
action
=
'store_true'
,
help
=
"Output trace info"
)
(
opts
,
args
)
=
p
.
parse_args
()
ft
=
harfbuzz
.
ft
(
args
[
0
],
opts
.
size
,
trace
=
tracefn
if
opts
.
debug
else
None
)
ft
=
harfbuzz
.
ft
(
args
[
0
],
opts
.
size
)
text
=
""
.
join
(
unichr
(
int
(
c
,
16
))
for
c
in
args
[
1
].
split
(
" "
))
bytes
=
text
.
encode
(
'utf_8'
)
buffer
=
harfbuzz
.
buffer
(
bytes
,
len
(
text
))
...
...
@@ -33,3 +76,20 @@ if opts.feature :
ft
.
shape
(
buffer
,
features
=
features
)
res
=
buffer
.
get_info
(
64
)
# scale for 26.6
print
res
if
opts
.
fontname
:
glyphs
=
[]
org
=
[
0
,
0
]
for
g
in
res
:
glyphs
.
append
((
g
.
gid
,
org
[
0
]
+
g
.
offset
[
0
],
org
[
1
]
+
g
.
offset
[
1
]))
org
[
0
]
+=
g
.
advance
[
0
]
org
[
1
]
+=
g
.
advance
[
1
]
gobject
.
type_register
(
GlyphsWindow
)
win
=
gtk
.
Window
()
win
.
resize
(
org
[
0
]
+
10
,
3
*
opts
.
size
+
40
)
win
.
connect
(
'delete-event'
,
gtk
.
main_quit
)
frame
=
gtk
.
Frame
(
"glyphs"
)
win
.
add
(
frame
)
w
=
GlyphsWindow
(
opts
.
fontname
,
opts
.
size
,
glyphs
)
frame
.
add
(
w
)
win
.
show_all
()
gtk
.
main
()
src/Makefile.am
浏览文件 @
1432ab15
...
...
@@ -52,7 +52,7 @@ HBSOURCES += \
HBHEADERS
+=
\
hb-ot.h
\
hb-ot-layout.h
\
hb-ot-shape
.
h
\
hb-ot-shape
-private.h
h
\
hb-ot-tag.h
\
$(NULL)
...
...
src/hb-ot-shape.cc
浏览文件 @
1432ab15
...
...
@@ -24,7 +24,7 @@
* Red Hat Author(s): Behdad Esfahbod
*/
#include "hb-ot-shape
.
h"
#include "hb-ot-shape
-private.h
h"
#include "hb-buffer-private.hh"
...
...
src/hb-ot.h
浏览文件 @
1432ab15
...
...
@@ -30,7 +30,7 @@
#include "hb.h"
#include "hb-ot-layout.h"
#include "hb-ot-shape
.
h"
#include "hb-ot-shape
-private.h
h"
#include "hb-ot-tag.h"
#endif
/* HB_OT_H */
src/hb-shape.cc
浏览文件 @
1432ab15
...
...
@@ -30,7 +30,7 @@
#include "hb-buffer-private.hh"
#include "hb-ot-shape
.
h"
#include "hb-ot-shape
-private.h
h"
#ifdef HAVE_GRAPHITE
#include "hb-graphite.h"
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录