のねのBlog

パソコンの問題や、ソフトウェアの開発で起きた問題など書いていきます。よろしくお願いします^^。

Harfbuzz

shape_closure_consumer_t用 main

①ー2:shape_closure_consumer_t用 110 int 111 main (int argc, char **argv) 112 { 113 main_font_text_t<shape_closure_consumer_t, FONT_SIZE_NONE, 0> driver; 114 return driver.main (argc, argv); 115 } ②共通 50 template <typename consumer_t, int default_font_size, int subpixel_bits> 51 struct main_font_text_t…</typename></shape_closure_consumer_t,>

shape_consumer_t用 main

hb_shape_full() at hb-shape.cc:374 0x7ffff7b413df shape_options_t::shape() at options.hh:248 0x4049bc shape_consumer_t<view_cairo_t>::consume_line() at shape-consumer.hh:61 0x4053b2 main_font_text_t<shape_consumer_t<view_cairo_t>, 256, 8>::main() at main-font-text.hh:80 0x4051eb main</shape_consumer_t<view_cairo_t></view_cairo_t>…

shaper list

44 /* hb_face_t */ 47 const hb_face_t _hb_face_nil = { 48 HB_OBJECT_HEADER_STATIC, 50 true, /* immutable */ 52 NULL, /* reference_table_func */ 53 NULL, /* user_data */ 54 NULL, /* destroy */ 56 0, /* index */ 57 1000, /* upem */ 58 0, /* …

./test-version --debug-log

u01@vm01:~/layout/oss/harfbuzz-1.1.2/test/api $ ./test-version --debug-log

./test-unicode --debug-log

u01@vm01:~/layout/oss/harfbuzz-1.1.2/test/api $ ./test-unicode --debug-log

HB_BUFFER_FLAG_BOT

177 typedef enum { /*< flags >*/ 178 HB_BUFFER_FLAG_DEFAULT = 0x00000000u, 179 HB_BUFFER_FLAG_BOT = 0x00000001u, /* Beginning-of-text */ 180 HB_BUFFER_FLAG_EOT = 0x00000002u, /* End-of-text */ 181 HB_BUFFER_FLAG_PRESERVE_DEFAULT_IGNORABLES…

hb_shape

399 void 400 hb_shape (hb_font_t *font, 401 hb_buffer_t *buffer, 402 const hb_feature_t *features, 403 unsigned int num_features) 404 { 405 hb_shape_full (font, buffer, features, num_features, NULL); 406 }

add

hb_buffer_t::add() at hb-buffer.cc:241 0x7ffff7b33f90 hb_buffer_add_utf<hb_utf8_t>() at hb-buffer.cc:1,484 0x7ffff7b36fb5 hb_buffer_add_utf8() at hb-buffer.cc:1,519 0x7ffff7b3629b shape_options_t::populate_buffer() at options.hh:226 0x4048ef shape_co</hb_utf8_t>…

hb-view

template <typename consumer_t, int default_font_size, int subpixel_bits> struct main_font_text_t { main_font_text_t (void) : options ("[FONT-FILE] [TEXT]"), <==デフォルト値 font_opts (&options, default_font_size, subpixel_bits), input (&options), consumer (&options) {} int main (int argc, char **argv)</typename>…

makeエラー

harfbuzzでglibを切ると、pangoでmakeエラーになる u01@vm01:~/layout/oss/pango-1.38.1$ ./configure --prefix=$HOME/usr --enable-debug=yes u01@vm01:~/layout/oss/pango-1.38.1$ make make[2]: Entering directory `/home/u01/layout/oss/pango-1.38.1/p…

pango 1.38.1

u01@vm01:~/layout/oss/pango-1.38.1$ ./configure --prefix=$HOME/usr --enable-debug=yes

with-glib=no

with-glib=noにしたとき、 Unicodeの検索だけglibを使わなくなるのかな?ほかのglibの関数は呼び出すように見える。 $ ./configure --prefix=$HOME/usr --with-glib=no

pango configure cmp: command not found

$ ./configure --prefix=$HOME/usrchecking for a working dd... ./configure: line 7843: cmp: command not found ./configure: line 7843: cmp: command not found$ pacman -S mingw-w64-x86_64-diffutils 依存関係を解決しています... 衝突するパッケージ…

pacman -Q

よく使うコマンドとしては pacman -S <package_name1> [package_name2...] : 指定したパッケージをインストールする pacman -Sl [repository] : パッケージを一覧表示する(リポジトリを指定可能) pacman -Ss [regex...] : パッケージを一覧・検索する(キーワードを指定可</package_name1>…

gdb console

273,124 2-gdb-version 273,125 ~"GNU gdb (Ubuntu 7.7.1-0ubuntu5~14.04.2) 7.7.1\n" 273,129 ~"Copyright (C) 2014 Free Software Foundation, Inc.\n" 273,129 ~"License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>\nThis is fre\ e software: you are free to</http://gnu.org/licenses/gpl.html>…

configure with libthai

libthaiをインストールしてから、configureした。 $ ./configure --prefix=$HOME/usr

メイクのコンパイルオプションを表示する。make V=1

u01@vm01:~/layout/oss/pango-1.36.8/pango-view$ make V=1 cp ./../modules/pangorc pangorc make all-am make[1]: Entering directory `/home/u01/layout/oss/pango-1.36.8/pango-view' gcc -DHAVE_CONFIG_H -I. -I.. -I.. -DG_DISABLE_CAST_CHECKS -pthre…

pango config --help

u01@vm01:~/layout/oss/pango-1.36.8$ ./configure --help

pango configure

u01@vm01:~/layout/oss/pango-1.36.8 $ ./configure --prefix=$HOME/usr -enable-static -disable-shared --with-included-modules=yes

harfbuzz configure

u01@vm01:~/layout/oss/harfbuzz-1.0.6$ ./configure -h

pango.pc

prefix=/home/u01/usr exec_prefix=${prefix} libdir=${exec_prefix}/lib includedir=${prefix}/include pango_module_version=1.8.0 Name: Pango Description: Internationalized text handling Version: 1.36.8 Requires: glib-2.0 gobject-2.0 Requires.p…

pango ./configure

u01@vm01:~/layout/oss/pango-1.36.8$ ./configure --prefix=$HOME/usr --enable-static checking for a BSD-compatible install... /usr/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /bin/m…

pango ./configure --help

u01@vm01:~/layout/oss/pango-1.36.8$ ./configure --prefix=$HOME/usr -l configure: error: unrecognized option: `-l' Try `./configure --help' for more information u01@vm01:~/layout/oss/pango-1.36.8$ ./configure --prefix=$HOME/usr --help `conf…

pango static library

./configure --prefix=$HOME/usr -enable-static -disable-shared --with-included-modules=yesエラーが出ているけど、画像ファイルが生成された。 (process:111391): GLib-GObject-WARNING **: cannot register existing type 'PangoEngine' (process:11139…

ldd exec

リンクしているライブラリが違う u01@vm01:~/workspace/pango/Debug$ ldd ./pango linux-vdso.so.1 => (0x00007ffe4559c000) libpango-1.0.so.0 => /usr/lib/x86_64-linux-gnu/libpango-1.0.so.0 (0x00007f9c9d101000) libgobject-2.0.so.0 => /usr/lib/x86_…

gdb info sharedlibrary

gdb info sharedlibrary From To Syms Read Shared Object Library 0x00007ffff7ddaae0 0x00007ffff7df54e0 Yes /lib64/ld-linux-x86-64.so.2 0x00007ffff7b9ae50 0x00007ffff7bb9f26 Yes /usr/lib/x86_64-linux-gnu/libpango-1.0.so.0 0x00007ffff79472a0 0…

cairo CFLAGS

export FREETYPE_CFLAGS=-I$HOME/include echo $FREETYPE_CFLAGS export FREETYPE_LIBS=-L$HOME/usr/lib echo $FREETYPE_LIBS ./configure --prefix=$HOME/usr make make install pkg-config --cflags --libs cairou01@vm01:~/layout/oss/cairo-1.12.18$ pkg…

pkg-config --cflags cairo

u01@vm01:~/layout/oss/cairo-1.12.18$ pkg-config cairo u01@vm01:~/layout/oss/cairo-1.12.18$ pkg-config --cflags cairo Package cairo was not found in the pkg-config search path. Perhaps you should add the directory containing `cairo.pc' to t…

cproject

<cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage"> <storageModule moduleId="org.eclipse.cdt.core.settings"> <cconfiguration id="cdt.managedbuild.config.gnu.exe.debug.1555981701"> </cconfiguration></storagemodule></cproject>

make

スクリプトは 2015年10月29日 22時40分28秒 に開始しました]0;u01@vm01: ~/layout/oss/freetype-2.5.5u01@vm01:~/layout/oss/freetype-2.5.5$ make ./builds/unix/libtool --mode=compile gcc -pedantic -ansi -I/home/u01/layout/oss/freetype-2.5.5/objs…

pkg-config

export PKG_CONFIG_PATH=$HOME/usr/lib/pkgconfigu01@vm01:~/layout/oss/cairo-1.12.18$ pkg-config --debug Option --debug seen Error printing disabled by default, value of --print-errors: 0 Error printing disabled Adding virtual 'pkg-config' pa…

依存関係まとめ

fontconfig $sudo apt-get install libfreetype6-dev $sudo apt-get install libexpat1-dev $./configure --prefix=$HOME/usrfreetype $sudo apt-get install libbz2-dev $sudo apt-get install harfbuzz-devpango $sudo apt-get install libglib2.0-dev

brew install pango

bash-3.2$ brew install pango ==> Installing dependencies for pango: gettext, libffi, glib, libpng, freetype, fontconfig, pixman, cairo, pkg-con ==> Installing pango dependency: gettext ==> Downloading https://homebrew.bintray.com/bottles/g…

mbp01:~ m_fujii$ brew doctor Please note that these warnings are just used to help the Homebrew maintainers with debugging if you file an issue. If everything you use Homebrew for is working fine: please don't worry and just ignore them. T…

doxygen設定ファイル skia

doxygenの設定ファイル # Doxyfile 1.8.6 # This file describes the settings to be used by the documentation system # doxygen (www.doxygen.org) for a project. # # All text after a double hash (##) is considered a comment and is placed in # fr…

Android Gerrit 検索方法

コミットメッセージ内の検索(message:) message:japanese message:font message:typeface message:FontFamily ファイル名での検索(f:) f:Typeface.java f:Typeface.cpp f:TypefaceImpl.h FontFamily.cpp f:Paint.cpp プロジェクト名での検索(project:) proje…

hb_ot_shape_collect_features

44 static hb_tag_t common_features[] = { 45 HB_TAG('c','c','m','p'), 46 HB_TAG('l','i','g','a'), 47 HB_TAG('l','o','c','l'), 48 HB_TAG('m','a','r','k'), 49 HB_TAG('m','k','m','k'), 50 HB_TAG('r','l','i','g'), 51 }; 54 static hb_tag_t horiz…

hb_icu_get_unicode_funcs

406 static hb_script_t codePointToScript(hb_codepoint_t codepoint) { 407 static hb_unicode_funcs_t* u = 0; 408 if (!u) { 409 u = hb_icu_get_unicode_funcs(); 410 } 411 return hb_unicode_script(u, codepoint); 412 } 423 hb_script_t 424 hb_uni…

HB_COMPLEX_SHAPER_IMPLEMENT

53 /* Master OT shaper list */ 54 #define HB_COMPLEX_SHAPERS_IMPLEMENT_SHAPERS \ 55 HB_COMPLEX_SHAPER_IMPLEMENT (default) /* should be first */ \ 56 HB_COMPLEX_SHAPER_IMPLEMENT (arabic) \ 57 HB_COMPLEX_SHAPER_IMPLEMENT (hangul) \ 58 HB_COM…

harfbuzzGetGlyph

341 hb_font_funcs_t* getHbFontFuncs() { 342 static hb_font_funcs_t* hbFontFuncs = 0; 343 344 if (hbFontFuncs == 0) { 345 hbFontFuncs = hb_font_funcs_create(); 346 hb_font_funcs_set_glyph_func( hbFontFuncs, harfbuzzGetGlyph, 0, 0); 347 hb_f…

harfbuzz-ng

79 static hb_bool_t harfbuzzGetGlyph( hb_font_t* hbFont, void* fontData, hb_codepoint_t unicode, hb_codepoint_t variationSelector, hb_codepoint_t* glyph, void* userData) 80 { 81 HarfBuzzFontData* hbFontData = reinterpret_cast<HarfBuzzFontData*>(fontData); 82</harfbuzzfontdata*>…

hb_font_set_funcs

163 hb_font_t* createFont(hb_face_t* face, SkPaint* paint, float sizeX, float sizeY) { 164 hb_font_t* font = hb_font_create(face); 165 166 // Note: this needs to be reworked when we do subpixels 167 int x_ppem = floor(sizeX + 0.5); 168 int…

raspberry pi freetype make

pi@raspberrypi ~/freetype/freetype-2.5.3.tar/freetype-2.5.3 $ make FreeType build system -- automatic system detection The following settings are used: platform unix compiler cc configuration directory ./builds/unix configuration rules ./b…

void FontCache::invalidate()

529 void FontCache::invalidate() 530 { 531 if (!gClients) { 532 ASSERT(!gFontPlatformDataCache); 533 return; 534 } 535 536 if (gFontPlatformDataCache) { 537 deleteAllValues(*gFontPlatformDataCache); 538 delete gFontPlatformDataCache; 539 g…

GypAndroid folders

================================================================ 実験 Androidプラットフォームへの統合に適してのsrc/contentに対するFacadeを提供しています。 個々のAndroidアプリケーション(APK)での使用を目的としていません。 /android_webview/…

setupComplexFont

727 void TextRunWalker::setupFontForScriptRun() 728 { 729 const FontData* fontData = m_font->glyphDataForCharacter(m_run[0], false).fontData; 730 const FontPlatformData& platformData = 731 fontData->fontDataForCharacter(' ')->platformData(…

FontPlatformData.h

class TextRunWalker { 422 public: 423 494 private: 512 const Font* const m_font; 513 HB_ShaperItem m_item; 514 uint16_t* m_glyphs16; // A vector of 16-bit glyph ids. 515 SkPoint* m_positions; // A vector of positions for each glyph. 516 ss…

drawBidiText >> width > floatWidthForComplexText > widthOfFullRun > nextScriptRun > setupFontForScriptRun

148 void RenderEmbeddedObject::paintReplaced(PaintInfo& paintInfo, int tx, int ty) 149 { 150 if (!pluginCrashedOrWasMissing()) 151 return; 152 153 if (paintInfo.phase == PaintPhaseSelection) 154 return; 155 156 GraphicsContext* context = p…

b2g framework

./B2G/frameworks/base/core/jni/android/graphics/TextLayoutCache.h:96: SkTypeface* typeface; ./B2G/frameworks/base/core/jni/android/graphics/Typeface.cpp:7:#include "SkTypeface.h" ./B2G/frameworks/base/core/jni/android/graphics/Typeface.cpp…

gfx makefile

gecko\gfx\Makefile.in # # This Source Code Form is subject to the terms of the Mozilla Public # License, v. 2.0. If a copy of the MPL was not distributed with this # file, You can obtain one at http://mozilla.org/MPL/2.0/. DEPTH = @DEPTH@ …