static VALUE Font_s_open(VALUE klass, VALUE filename, VALUE size) { Kanji_Font* font; ExportFilenameStringValue(filename); font = Kanji_OpenFont(RSTRING_PTR(filename), NUM2INT(size)); if(font == NULL) rb_raise(eSDLError,"Couldn't open bdf font: %s", RSTRING_PTR(filename)); return Font_create(font); }
void YGS2kKanjiFontInitialize() { #if USE_GL_KANJI s_pKanjiFont[0].load("res/font/knj10.f1b"); s_pKanjiFont[1].load("res/font/knj12.f1b"); s_pKanjiFont[2].load("res/font/knj16.f1b"); #elif USE_SDLKANJI /* 10pxフォント読み込み */ s_pKanjiFont[0] = Kanji_OpenFont("res/font/knj10.bdf", 10); if ( s_pKanjiFont[0] ) { Kanji_AddFont(s_pKanjiFont[0], "res/font/5x10a.bdf"); } else { /* フォントがない場合代替を使う */ s_pKanjiFont[0] = Kanji_OpenFont("res/font/knj12.bdf", 10); Kanji_AddFont(s_pKanjiFont[0], "res/font/6x12a.bdf"); } if ( s_pKanjiFont[0] ) { Kanji_SetCodingSystem(s_pKanjiFont[0], KANJI_SJIS); } /* 12pxフォント読み込み */ s_pKanjiFont[1] = Kanji_OpenFont("res/font/knj12.bdf", 12); if ( s_pKanjiFont[1] ) { Kanji_AddFont(s_pKanjiFont[1], "res/font/6x12a.bdf"); Kanji_SetCodingSystem(s_pKanjiFont[1], KANJI_SJIS); } /* 16pxフォント読み込み */ s_pKanjiFont[2] = Kanji_OpenFont("res/font/knj16.bdf", 16); if ( s_pKanjiFont[2] ) { Kanji_AddFont(s_pKanjiFont[2], "res/font/8x16a.bdf"); Kanji_SetCodingSystem(s_pKanjiFont[2], KANJI_SJIS); } #elif USE_PNGKANJI char *kanjifile[YGS_KANJIFONT_MAX] = { "res/font/kanjifont10w.png", "res/font/kanjifont10b.png", "res/font/kanjifont12w.png", "res/font/kanjifont12b.png", "res/font/kanjifont16w.png", "res/font/kanjifont16b.png", }; for ( int i = 0 ; i < YGS_KANJIFONT_MAX ; i ++ ) { s_pKanjiSurface[i] = IMG_Load(kanjifile[i]); // if ( s_pKanjiSurface[i] ) // { // あまり必要性がないのでしないでおく // s_pKanjiSurface[i] = SDL_DisplayFormat(s_pKanjiSurface[i]); // } } #endif }