public static void DrawHonbunPage(SKCanvas canvas, IHKWaxPage page, bool isVisibleHinshi) { WaterTrans.TypeLoader.TypefaceInfo tfi; using (var fs = OpenFontStream()) tfi = new WaterTrans.TypeLoader.TypefaceInfo(fs); using (var paint = new SKPaint()) using (var tf = SKTypeface.FromStream(new SKManagedStream(OpenFontStream(), true) /*,0*/)) { canvas.DrawColor(SKColors.White); //背景を白に paint.IsAntialias = true; paint.Typeface = tf; //paint.IsVerticalText = true; //ページを描画 drawPage(canvas, paint, tfi, page, isVisibleHinshi); } }
//ページを描画 static void drawPage(SKCanvas canvas, SKPaint paint, WaterTrans.TypeLoader.TypefaceInfo tfi, IHKWaxPage page, bool isVisibleHinshi) { foreach (var item in page.Lines.Select((v, i) => new { v, i })) { foreach (var ch in item.v.Chars) { paint.Color = new SKColor(0, 0, 0); //本文を描画 drawHonbunChar(canvas, paint, tfi, ch); //右ルビを描画 drawRubyText(canvas, paint, tfi, ch); } } }