のねのBlog

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

Fonts

TypeSquareの文字を表示する。

はてなブログで、TypeSquare(Webフォント)を表示させる方法です。カスタマイズ>ヘッダ>タイトルしたへ、以下のようなスクリプトをコピー&ペーストする。 スクリプトは、TypeSquareのページで取得する。*1 <script type="text/javascript" src="//typesquare.com/accessor/script/typesquare.js?ABCD0123456789&fadein=10" charset="utf-8"></script> カスタマイズ>デザインCSSに以下のような設定…

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…

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

> SharpFont.dll!SharpFont.PInvokeHelper.PtrToStructure<SharpFont.TrueType.Internal.HeaderRec>(System.IntPtr reference) 行 43 SharpFont.dll!SharpFont.TrueType.Header.Reference.set(System.IntPtr value) 行 205 SharpFont.dll!SharpFont.TrueType.Header.Header(System.IntPtr reference)</sharpfont.truetype.internal.headerrec>…

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

以下の試しのコードを実行したところ、マーシャリングのエラーになった。 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…

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…

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 void ShowGlyph(FILE *ttf,long offset,long len,int imageFormat, struct ttfinfo *info) { int h,w,sbX,sbY,advance; int i,j,k,ch; long here; if ( imageFormat!=1 && imageFormat!=2 ) return; here = ftell(ttf); fseek(ttf,info->bitmapdata_s…

showttf

fontforge/contrib/fonttools/showttf.c

ttx -t EBDT -z bitwise

$ ttx -t EBDT -z bitwise MS-Gothic.ttf Dumping "MS-Gothic.ttf" to "MS-Gothic#7.ttx"... Dumping 'EBDT' table... Traceback (most recent call last): File "/Users/m_fujii/bin/FDK/Tools/osx/../SharedData/FDKScripts/ttx.py", line 13, in <module> ttx.mai</module>…

ttx -t EBDT -z row

$ ttx -t EBDT -z row MS-Gothic.ttf Dumping "MS-Gothic.ttf" to "MS-Gothic#5.ttx"... Dumping 'EBDT' table... Traceback (most recent call last): File "/Users/m_fujii/bin/FDK/Tools/osx/../SharedData/FDKScripts/ttx.py", line 13, in <module> ttx.main(sy</module>…

ttx EBDT

$ ttx -t EBDT -z raw MS-Gothic.ttf Dumping "MS-Gothic.ttf" to "MS-Gothic#2.ttx"... Dumping 'EBDT' table... $ vi MS-Gothic#2.ttx <ttFont sfntVersion="\x00\x01\x00\x00" ttLibVersion="2.5"> <EBDT> <header version="2.0"/> <strikedata index="0"> </strikedata></header></ebdt></ttfont>

otc2otf

$ otc2otf msgothic.ttc Input font: msgothic.ttc Output font: MS-Gothic.ttf Output font: MS-UIGothic.ttf Output font: MS-PGothic.ttf Done$ ttx MS-Gothic.ttf Dumping "MS-Gothic.ttf" to "MS-Gothic.ttx"... Dumping 'GlyphOrder' table... Dumping…

truetype cmap format 4

<cmap> <tableVersion version="0"/> <cmap_format_4 platformID="0" platEncID="3" language="0"> <map code="0x20" name="uni00A0"/> <map code="0x21" name="exclam"/> <map code="0x22" name="quotedbl"/> <map code="0x23" name="numbersign"/></map></map></map></map></cmap_format_4></tableversion></cmap>

truetype cmap format 2

/** * Read a format 2 subtable. * * @param data the data stream of the to be parsed ttf font * @param numGlyphs number of glyphs to be read * @throws IOException If there is an error parsing the true type font. */ protected void processSub…

TrueType OpenType ファイル構造 その1

$ xxd arial.ttf | head 00000000: 0001 0000 0019 0100 0004 0090 4453 4947 ............DSIG 00000010: b77e 536a 000d dc30 0000 1adc 4744 4546 .~Sj...0....GDEF 00000020: b13f b3a1 000c 4b24 0000 0334 4750 4f53 .?....K$...4GPOS 00000030: 83c6 …

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

spot

spot -tGSUB=7 KozGoKanaNK-Heavy.otf$ spot -h Usage: spot [-u|-h|-ht|-r] [-n|-nc|-G|-T|-F] [-f] [-V] [-m] [-d][-i<ids>] [-o<offs>] [-t<tags>|-P<featuretags>] [-p<policy>] [-@ <ptsize>] <fontfile>+ OR: spot -X <scriptfile> Options: -u print usage information -h print usage and help information -ht pri…</scriptfile></fontfile></ptsize></policy></featuretags></tags></offs></ids>

ttx

$ ttx usage: ttx [options] inputfile1 [... inputfileN] TTX 2.5 -- From OpenType To XML And Back If an input file is a TrueType or OpenType font file, it will be dumped to an TTX file (an XML-based text format). If an input file is a TTX fi…

glyph composite

glyf - Glyf Data This table contains information that describes the glyphs in the font in the TrueType outline format. Information regarding the rasterizer (scaler) refers to the TrueType rasterizer. Each glyph begins with the following he…

fontforge error Missing Points at Extrema

Self Intersectiong フォント内にパス同士が交差する箇所があるとき Wrong Direction フォント作成のルールである「外側の輪郭は時計回り、内側の輪郭は反時計回り」に反しているとき Missing Points at Extrema 点の個数の上限を越えたとき Non-integral co…

hb-view unicode

$ cp /usr/share/fonts/truetype/tlwg/Garuda.ttf $ printf '\ue01' | hb-view ./Garuda.ttf $ printf '\ue01' | hb-shape ./Garuda.ttf [uni0E01=0+641]

hb-shape --help-all

u01@vm01:~$ hb-shape --help-all Usage: hb-shape [OPTION...] [FONT-FILE] [TEXT]Help Options: -h, --help Show help options --help-all Show all help options --help-font Options controlling the font --help-text Options controlling the input te…

hb-view --help-all

u01@vm01:~$ hb-view --help-all Usage: hb-view [OPTION...] [FONT-FILE] [TEXT]Help Options: -h, --help Show help options --help-all Show all help options --help-font Options controlling the font --help-text Options controlling the input text…

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

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

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…

Program Argument

--font="Garuda 50" test-thai_kigen.txt --output=pv_kigen.png

with-glib=no

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

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 …

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…

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

Thai Font

Arial Unicode MS Leelawadee Leelawadee UI Microsoft Sans Serif Tahoma

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