Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Third Party Harfbuzz
提交
3b5c22c3
T
Third Party Harfbuzz
项目概览
OpenHarmony
/
Third Party Harfbuzz
1 年多 前同步成功
通知
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看板
提交
3b5c22c3
编写于
1月 19, 2012
作者:
B
Behdad Esfahbod
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Remove src/test.cc
Not really useful.
上级
4983feeb
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
1 addition
and
137 deletion
+1
-137
src/Makefile.am
src/Makefile.am
+1
-5
src/test.cc
src/test.cc
+0
-132
未找到文件。
src/Makefile.am
浏览文件 @
3b5c22c3
...
...
@@ -153,17 +153,13 @@ hb-ot-shape-complex-indic-machine.hh: hb-ot-shape-complex-indic-machine.rl
$(AM_V_GEN)$(top_srcdir)
/missing
--run
ragel
-e
-F1
-o
"
$@
.tmp"
"
$<
"
&&
\
mv
"
$@
.tmp"
"
$@
"
||
(
$(RM)
"
$@
.tmp"
&&
false
)
noinst_PROGRAMS
=
main
test
noinst_PROGRAMS
=
main
bin_PROGRAMS
=
main_SOURCES
=
main.cc
main_CPPFLAGS
=
$(HBCFLAGS)
main_LDADD
=
libharfbuzz.la
$(HBLIBS)
test_SOURCES
=
test.cc
test_CPPFLAGS
=
$(HBCFLAGS)
$(FREETYPE_CFLAGS)
test_LDADD
=
libharfbuzz.la
$(HBLIBS)
$(FREETYPE_LIBS)
dist_check_SCRIPTS
=
\
check-c-linkage-decls.sh
\
check-header-guards.sh
\
...
...
src/test.cc
已删除
100644 → 0
浏览文件 @
4983feeb
/*
* Copyright © 2010,2011 Google, Inc.
*
* This is part of HarfBuzz, a text shaping library.
*
* Permission is hereby granted, without written agreement and without
* license or royalty fees, to use, copy, modify, and distribute this
* software and its documentation for any purpose, provided that the
* above copyright notice and the following two paragraphs appear in
* all copies of this software.
*
* IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR
* DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES
* ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN
* IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
* DAMAGE.
*
* THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING,
* BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
* FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS
* ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO
* PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
*
* Google Author(s): Behdad Esfahbod
*/
#ifdef HAVE_CONFIG_H
#include "config.h"
#endif
#include "hb.h"
#ifdef HAVE_GLIB
#include <glib.h>
#endif
#include <stdlib.h>
#include <stdio.h>
#ifdef HAVE_FREETYPE
#include "hb-ft.h"
#endif
int
main
(
int
argc
,
char
**
argv
)
{
hb_blob_t
*
blob
=
NULL
;
if
(
argc
!=
2
)
{
fprintf
(
stderr
,
"usage: %s font-file.ttf
\n
"
,
argv
[
0
]);
exit
(
1
);
}
/* Create the blob */
{
const
char
*
font_data
;
unsigned
int
len
;
hb_destroy_func_t
destroy
;
void
*
user_data
;
hb_memory_mode_t
mm
;
#ifdef HAVE_GLIB
GMappedFile
*
mf
=
g_mapped_file_new
(
argv
[
1
],
FALSE
,
NULL
);
font_data
=
g_mapped_file_get_contents
(
mf
);
len
=
g_mapped_file_get_length
(
mf
);
destroy
=
(
hb_destroy_func_t
)
g_mapped_file_unref
;
user_data
=
(
void
*
)
mf
;
mm
=
HB_MEMORY_MODE_READONLY_MAY_MAKE_WRITABLE
;
#else
FILE
*
f
=
fopen
(
argv
[
1
],
"rb"
);
fseek
(
f
,
0
,
SEEK_END
);
len
=
ftell
(
f
);
fseek
(
f
,
0
,
SEEK_SET
);
font_data
=
(
const
char
*
)
malloc
(
len
);
if
(
!
font_data
)
len
=
0
;
len
=
fread
((
char
*
)
font_data
,
1
,
len
,
f
);
destroy
=
free
;
user_data
=
(
void
*
)
font_data
;
fclose
(
f
);
mm
=
HB_MEMORY_MODE_WRITABLE
;
#endif
blob
=
hb_blob_create
(
font_data
,
len
,
mm
,
user_data
,
destroy
);
}
printf
(
"Opened font file %s: %u bytes long
\n
"
,
argv
[
1
],
hb_blob_get_length
(
blob
));
/* Create the face */
hb_face_t
*
face
=
hb_face_create
(
blob
,
0
/* first face */
);
hb_blob_destroy
(
blob
);
blob
=
NULL
;
unsigned
int
upem
=
hb_face_get_upem
(
face
);
hb_font_t
*
font
=
hb_font_create
(
face
);
hb_font_set_scale
(
font
,
upem
,
upem
);
#ifdef HAVE_FREETYPE
hb_ft_font_set_funcs
(
font
);
#endif
hb_buffer_t
*
buffer
=
hb_buffer_create
();
hb_buffer_add_utf8
(
buffer
,
"
\xe0\xa4\x95\xe0\xa5\x8d\xe0\xa4\xb0\xe0\xa5\x8d\xe0\xa4\x95
"
,
-
1
,
0
,
-
1
);
hb_shape
(
font
,
buffer
,
NULL
,
0
);
unsigned
int
count
=
hb_buffer_get_length
(
buffer
);
hb_glyph_info_t
*
infos
=
hb_buffer_get_glyph_infos
(
buffer
,
NULL
);
hb_glyph_position_t
*
positions
=
hb_buffer_get_glyph_positions
(
buffer
,
NULL
);
for
(
unsigned
int
i
=
0
;
i
<
count
;
i
++
)
{
hb_glyph_info_t
*
info
=
&
infos
[
i
];
hb_glyph_position_t
*
pos
=
&
positions
[
i
];
printf
(
"cluster %d glyph 0x%x at (%d,%d)+(%d,%d)
\n
"
,
info
->
cluster
,
info
->
codepoint
,
pos
->
x_offset
,
pos
->
x_offset
,
pos
->
x_advance
,
pos
->
y_advance
);
}
hb_buffer_destroy
(
buffer
);
hb_font_destroy
(
font
);
hb_face_destroy
(
face
);
return
0
;
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录