読者です 読者をやめる 読者になる 読者になる

のねのBlog

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

OSS

CharMap

namespace SharpFont.Internal { [StructLayout(LayoutKind.Sequential)] internal class CharMapRec { internal IntPtr face; internal Encoding encoding; internal PlatformId platform_id; internal ushort encoding_id; } } namespace SharpFont { publ…

配列フィールドは ByValArray または SafeArray と組で使用してください。

LPArrayのところで、全て同じエラーになる。 LPArrayをByValArrayに変えると、動くようになる。 読みこむだけなら、これで問題なさそうに思える。 この感じの行があると、マーシャリングができないようだ。 [MarshalAs(UnmanagedType.LPArray, SizeConst = 4…

マーシャリングできません: 無効なマネージ/アンマネージ型の組み合わせです。

以下の試しのコードを実行したところ、マーシャリングのエラーになった。 namespace Examples { public partial class ExampleForm : Form { private void listBoxFont_SelectedIndexChanged(object sender, EventArgs e) { fontFace = new Face(lib, Path.C…

Faceクラス

namespace SharpFont { public sealed class Face : IDisposable { private IntPtr reference; private FaceRec rec; private Library parentLibrary; public Face(Library library, string path, int faceIndex) : this(library) { IntPtr reference; Error…

'System.TypeLoadException'

型 'System.TypeLoadException' のハンドルされていない例外が mscorlib.dll で発生しました 追加情報:型 'SharpFont.TrueType.Internal.HeaderRec' の フィールド 'Created' をマーシャリングできません: 無効なマネージ/アンマネージ型の組み合わせです。 …

GetSfntTable

public object GetSfntTable(SfntTag tag) { IntPtr tableRef = FT.FT_Get_Sfnt_Table(Reference, tag); if (tableRef == IntPtr.Zero) return null; switch (tag) { case SfntTag.Header: return new Header(tableRef); case SfntTag.HorizontalHeader: ret…

CS1591

プロジェクト>プロパティ>ビルド>出力:XMLドキュメントファイルのチェックをはずす。 その設定のファイル名を空にすれば XML コメント出力の機能は Off になります。

FT_GLYPH_FORMAT_COMPOSITE

FT_GLYPH_FORMAT_COMPOSITE The glyph image is a composite of several other images. This format is only used with FT_LOAD_NO_RECURSE, and is used to report compound glyphs (like accented characters). 2453 FT_LOCAL_DEF( FT_Error ) 2454 TT_Loa…

composite glyph

1655 /* otherwise, load a composite! */ 1656 else if ( loader->n_contours == -1 ) 1657 { 1658 FT_UInt start_point; 1659 FT_UInt start_contour; 1660 FT_ULong ins_pos; /* position of composite instructions, if any */ 1661 1662 1663 start_poi…

TT_CONFIG_OPTION_EMBEDDED_BITMAPS

30 #ifdef TT_CONFIG_OPTION_EMBEDDED_BITMAPS 31 #include "pngshim.c" 32 #include "ttsbit.c" 33 #endif

FT_DEFINE_SFNT_INTERFACE

565 #ifndef FT_CONFIG_OPTION_PIC 566 567 #define FT_DEFINE_SFNT_INTERFACE( \ 568 class_, \ 569 goto_table_, \ 570 init_face_, \ 571 load_face_, \ 572 done_face_, \ 573 get_interface_, \ 574 load_any_, \ 575 load_head_, \ 576 load_hhea_, \ …

ebdt

460 FT_DEFINE_SFNT_INTERFACE( 461 sfnt_interface, 462 tt_face_goto_table, 463 464 sfnt_init_face, 465 sfnt_load_face, 466 sfnt_done_face, 467 sfnt_get_interface, 468 469 tt_face_load_any, 470 471 tt_face_load_head, 472 tt_face_load_hhea, 4…

EBDT

static FT_Error tt_sbit_decoder_load_bitmap( TT_SBitDecoder decoder, FT_UInt glyph_format, FT_ULong glyph_start, FT_ULong glyph_size, FT_Int x_pos, FT_Int y_pos ) { FT_Error error; FT_Stream stream = decoder->stream; FT_Byte* p; FT_Byte* p…

truetype cmap format 2 その2

Freetype2の場合: ※TT_PEAK_USHORTの場合、ポインタの場所を読む。(ポインタは進めない。) ※TT_NEXT_USHORTの場合、ポインタの場所を読み、ポインタを進める。 391 /* return sub header corresponding to a given character code */ 392 /* NULL on inval…

ARG_1_AND_2_ARE_WORDS

if ($flags & self::ARG_1_AND_2_ARE_WORDS) { if ($flags & self::ARGS_ARE_XY_VALUES) { $e = $font->readInt16(); $f = $font->readInt16(); } else { $point_compound = $font->readUInt16(); $point_component = $font->readUInt16(); } } else { if ($…

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>…

pango_cairo_renderer_show_text_glyphs

424 static void 425 pango_cairo_renderer_show_text_glyphs (PangoRenderer *renderer, 426 const char *text, 427 int text_len, 428 PangoGlyphString *glyphs, 429 cairo_text_cluster_t *clusters, 430 int num_clusters, 431 gboolean backward, 432 …

pango_glyph_string_extents_range

_pango_cairo_font_private_get_glyph_extents_cache_entry() at pangocairo-font.c:791 0x7ffff7773553 _pango_cairo_font_private_get_glyph_extents() at pangocairo-font.c:832 0x7ffff7773553 pango_glyph_string_extents_range() at glyphstring.c:211…

pango-layout_get_pixel_exteents

pango-layout_get_pixel_exteents _pango_engine_shape_shape

pango 1.38.1

pango_cairo_renderer_show_text_glyphs() at pangocairo-render.c:494 0x7ffff777501b pango_cairo_renderer_draw_glyphs() at pangocairo-render.c:526 0x7ffff77754b4 pango_renderer_draw_glyphs() at pango-renderer.c:642 0x7ffff7bb65df pango_render…

pango 1.38.1 pango-view

Program arguments: --font="Garuda 50" test-thai_kigen.txt --output=pv_kigen.pngWorking directory ${workspace_loc:PangoView_1.38.1} Use default

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…

make error

345 #if HB_VERSION_ATLEAST(1,0,3) 346 hb_buffer_set_cluster_level (hb_buffer, HB_BUFFER_CLUSTER_LEVEL_MONOTONE_CHARACTERS); 347 #endifgcc - what does the compiler error "missing binary operator before token" mean? - Stack Overflow make[4]:…

pango 1.38.1

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

error glib=no

(inf-view:130150): Pango-WARNING **: /home/u01/usr/lib/pango/1.8.0/modules/pango-basic-fc.so: undefined symbol: hb_glib_get_unicode_funcs (inf-view:130150): Pango-WARNING **: failed to choose a font, expect ugly output. engine-type='PangoR…

with-glib=no

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

トウフがでるとき

UCDNのとき、トウフがでる。 fallback_engine_shape() at pango-engine.c:190 0x7ffff7ba9450 pango_shape_full() at shape.c:176 0x7ffff7bb906f shape_run() at pango-layout.c:3,293 0x7ffff7b9c39c process_item() at pango-layout.c:3,406 0x7ffff7b9c6…

ucdn

glibをNOにすると、UCDNがyesになる configure --prefix=$HOME/usr --with-glib=noBuild configuration: Unicode callbacks (you want at least one): Glib: false ICU: false UCDN: true Font callbacks (the more the better): FreeType: true Tools used …

substitute_start

pango-view Default [C/C++ Application] pango-view [80235] [cores: 0] Thread #1 [pango-view] 80235 [core: 0] (Suspended : Step) substitute_start() at hb-ot-layout-gsub-table.hh:1,290 0x7ffff5d2f326 hb_ot_layout_substitute_start() at hb-ot-l…

FT_Get_Char_Index

pango-view Default [C/C++ Application] pango-view [80235] [cores: 0] Thread #1 [pango-view] 80235 [core: 0] (Suspended : Step) tt_cmap4_char_map_binary() at ttcmap.c:1,141 0x7ffff5fbec03 tt_cmap4_char_index() at ttcmap.c:1,359 0x7ffff5fc5d…

IA__FcFreeTypeCharIndex

fontconfig/fcfreetype.c IA__FcFreeTypeCharIndex() at fcfreetype.c:2,404 0x7ffff6df48d0 pango_fc_font_real_get_glyph() at pangofc-font.c:657 0x7ffff7981dc7 pango_fc_hb_font_get_glyph() at basic-fc.c:126 0x7ffff39b7b16 get_glyph() at hb-font…

preprocess_text_thai

preprocess_text_thai() at hb-ot-shape-complex-thai.cc:316 0x7ffff5d4e399 hb_ot_substitute_default() at hb-ot-shape.cc:553 0x7ffff5d458ed hb_ot_substitute() at hb-ot-shape.cc:595 0x7ffff5d458ed hb_ot_shape_internal() at hb-ot-shape.cc:795 0…

get_glyph

pango-view Default [C/C++ Application] pango-view [55554] [cores: 0] Thread #1 [pango-view] 55554 [core: 0] (Suspended : Step) pango_fc_hb_font_get_glyph() at basic-fc.c:128 0x7ffff39b7b21 get_glyph() at hb-font-private.hh:159 0x7ffff5d519…

hb_shape

basic_engine_shape() at basic-fc.c:340 0x7ffff39b7bbf pango_shape_full() at shape.c:116 0x7ffff7bb8f7b shape_run() at pango-layout.c:3,293 0x7ffff7b9c39c process_item() at pango-layout.c:3,406 0x7ffff7b9c68d process_line() at pango-layout.…

pacman -Rsc mingw-w64-x86_64-gcc

$ pacman -Rsc mingw-w64-x86_64-gcc 依存関係を確認しています... パッケージ (8) mingw-w64-x86_64-gcc-ada-5.2.0-4 mingw-w64-x86_64-gcc-fortran-5.2.0-4 mingw-w64-x86_64-gcc-objc-5.2.0-4 mingw-w64-x86_64-isl-0.14.1-2 mingw-w64-x86_64-mpc-1.0.3-…

pacman -S mingw-w64-x86_64-glib2

~/layout/oss/pango-1.38.1:$ pacman -S mingw-w64-x86_64-glib2 依存関係を解決しています... 衝突するパッケージがないか確認しています... パッケージ (1) mingw-w64-x86_64-glib2-2.46.2-1 合計ダウンロード容量: 2.86 MiB 合計インストール容量: 19.73 …

pkg-config

MINGW64 ~/layout/oss/pango-1.38.1 $ pkg-config --list-all isl isl - isl Library gnurx regex - Regular Expressions library formw formw - ncurses 6.0 add-on library menuw menuw - ncurses 6.0 add-on library python2 Python - Python library pan…

gccをインストールしないでconfigureを実行してみた。

gccをインストールしないでconfigureを実行してみた。 ~/layout/oss/pango-1.38.1 $ ./configure checking for a BSD-compatible install... /usr/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p..…

pango fatal error C1083: include ファイルを開けません。'msvc_recommended_pragmas.h':No such file or directory

VS2013でビルドすると、以下のエラーが出た。 このファイルが見つからない。 fatal error C1083: include ファイルを開けません。'msvc_recommended_pragmas.h':No such file or directoryプロジェクトのプロパティ>構成プロパティ>C/C++>詳細設定の必ず…

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>…