Exemplo n.º 1
0
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);
}
Exemplo n.º 2
0
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
}