This commit is contained in:
Konstantin Käfer 2013-09-30 17:59:39 +02:00
parent bde7cf4e9a
commit 110673e6fd
5 changed files with 12 additions and 42 deletions

9
deps/freetype.gyp vendored
View File

@ -86,18 +86,11 @@
],
'direct_dependent_settings': {
'include_dirs': [
'../include',
'<(SHARED_INTERMEDIATE_DIR)/freetype-<@(freetype_version)/include'
],
'defines': [
'FT2_BUILD_LIBRARY'
],
]
},
'defines': [
'FT2_BUILD_LIBRARY'
],
'export_dependent_settings': [
'freetype_action_before_build'
]
}
]

25
deps/harfbuzz.gyp vendored
View File

@ -53,20 +53,11 @@
'<(SHARED_INTERMEDIATE_DIR)/harfbuzz-<@(harfbuzz_version)/src/hb-shape.cc'
],
'action': [ 'tar', '-xjf', './harfbuzz-<@(harfbuzz_version).tar.bz2', '-C', '<(SHARED_INTERMEDIATE_DIR)']
},
{
'action_name': 'copy_harfbuzz_config_header',
'inputs': [
'./harfbuzz-config.h'
],
'outputs': [
'<(SHARED_INTERMEDIATE_DIR)/harfbuzz-<@(harfbuzz_version)/config.h'
],
'action': [ 'cp', './harfbuzz-config.h', '<(SHARED_INTERMEDIATE_DIR)/harfbuzz-<@(harfbuzz_version)/config.h']
}
],
'direct_dependent_settings': {
'include_dirs': [
'../include/harfbuzz',
'<(SHARED_INTERMEDIATE_DIR)/harfbuzz-<@(harfbuzz_version)/src/hb-ucdn',
'<(SHARED_INTERMEDIATE_DIR)/harfbuzz-<@(harfbuzz_version)',
]
@ -120,20 +111,6 @@
'<(SHARED_INTERMEDIATE_DIR)/harfbuzz-<@(harfbuzz_version)/src/hb-unicode.cc',
# '<(SHARED_INTERMEDIATE_DIR)/harfbuzz-<@(harfbuzz_version)/src/hb-uniscribe.cc',
# '<(SHARED_INTERMEDIATE_DIR)/harfbuzz-<@(harfbuzz_version)/src/hb-warning.cc'
],
'direct_dependent_settings': {
'include_dirs': [
# # '../include',
'<(SHARED_INTERMEDIATE_DIR)/harfbuzz-<@(harfbuzz_version)/src/',
# # ],
# # 'defines': [
# # 'HAVE_CONFIG_H',
# # '_THREAD_SAFE'
],
},
'export_dependent_settings': [
'harfbuzz_action_before_build'
]
}
]

View File

@ -40,7 +40,6 @@ Handle<Value> Shaping(const Arguments& args) {
hb_buffer_set_language(buffer, hb_language_from_string("ar", 2));
hb_buffer_add_utf16(buffer, *text, length, 0, length);
hb_shape(hb_font, buffer, NULL, 0);
unsigned num_glyphs = hb_buffer_get_length(buffer);
@ -51,9 +50,15 @@ Handle<Value> Shaping(const Arguments& args) {
for (unsigned i = 0; i < num_glyphs; i++) {
hb_glyph_info_t *glyph = glyphs + i;
hb_glyph_position_t *pos = positions + i;
shaped->Set(i, Uint32::New(glyph->codepoint));
}
Local<Object> metrics = Object::New();
metrics->Set(String::NewSymbol("code"), Uint32::New(glyph->codepoint));
metrics->Set(String::NewSymbol("x_offset"), Uint32::New(pos->x_offset));
metrics->Set(String::NewSymbol("y_offset"), Uint32::New(pos->y_offset));
metrics->Set(String::NewSymbol("x_advance"), Uint32::New(pos->x_advance));
metrics->Set(String::NewSymbol("y_advance"), Uint32::New(pos->y_advance));
shaped->Set(i, metrics);
}
Local<Object> result = Object::New();
result->Set(String::NewSymbol("unshaped"), unshaped);

View File

@ -5,10 +5,5 @@ var blob = fs.readFileSync('fonts/ArialUnicode.ttf');
var font = new fontserver.Font(blob);
// console.warn(font[0]);
console.warn(fontserver.shape("لسعودية كسول الزنجبيل القط", font));
// for (var i = 0; i < font.length; i++) {
// console.warn(font[i]);
// }
// console.warn(fontserver.shape("لسعودية كسول الزنجبيل القط", font));
console.warn(fontserver.shape("MapBox", font));