New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

SJIS漢字フォントライブラリ による日本語フォント対応 #58

Open
Tamakichi opened this Issue Nov 5, 2018 · 6 comments

Comments

Projects
None yet
1 participant
@Tamakichi
Owner

Tamakichi commented Nov 5, 2018

Arduino用SJIS漢字フォントライブラリ SDカード版を利用した日本語フォント利用のサポート

SDカードにフォントデータを配置して、フォント利用を行う。

  • 漢字設定
    SETKANJI フォントサイズ,[描画時倍角 ,横フォント間ドット数, 行間ドット数, 右折り返し位置]

  • 漢字文字列の描画
    KANJI x,y,"文字列"
    NTSC、OLED、TFT対応
    フォントの前景色、背景色はCOLORコマンドで指定する。

  • 漢字フォントデータの取得関数
    KFONT(仮想アドレス,文字コード,フォントサイズ)
    戻り値: 0:該当フォントなし、1:全角文字、 2:半角文字
    半角カタカナは全角カタカナのデータ(全角)を格納する

  • 半角文字コードを全角に変換
    ZEN(文字コード)
    戻り値: 全角文字コード

@Tamakichi

This comment has been minimized.

Owner

Tamakichi commented Nov 7, 2018

8・16・24ドットフォント表示 サンプルプログラム

10 CLS
20 S="さいたま☆埼玉"
30 L=LEN(S):@(0)=8,16,24
35 FOR N=0 TO 2
40 FOR K=1 TO L
50 R=KFONT(MEM,ASC(S,K),@(N))
60 FOR I=0 TO @(N)*(N+1)-1
70 D=PEEK(MEM+I)
80 FOR J=0 TO 7
90 IF D&($80>>J) ?"■"; ELSE ?" ";
100 NEXT J
110 IF I%(N+1)=N ?
120 NEXT I
130 NEXT K
140 NEXT N
@Tamakichi

This comment has been minimized.

Owner

Tamakichi commented Nov 7, 2018

TFT画面での表示サンプルプログラム

10 CLS:CLS 1
20 S="日本語表示☆にほんご"
30 L=LEN(S):X0=20:X=X0:Y=30:@(0)=8,10,12,14,16,20,24
35 FOR J=0 TO 6
40 FOR I=1 TO L
50 R=KFONT(MEM,ASC(S,I),@(J))
60 BITMAP X,Y,MEM,0,@(J)/R,@(J),1,7-J
70 X=X+@(J)/R+2
80 NEXT I
90 X=X0:Y=Y+@(J)+10
100 NEXT J

dscn8965

@Tamakichi

This comment has been minimized.

Owner

Tamakichi commented Nov 7, 2018

NTSC画面での日本語フォント表示

5 CONSOLE 0
10 CLS
20 S="日本語表示にほんご"
30 L=LEN(S):X0=0:X=X0:Y=30:@(0)=8,10,12,14,16,20,24
35 FOR J=0 TO 6
40 FOR I=1 TO L
50 R=KFONT(MEM,ASC(S,I),@(J))
60 BITMAP X,Y,MEM,0,@(J)/R,@(J),1
70 X=X+@(J)/R+0
80 NEXT I
90 X=X0:Y=Y+@(J)+10
100 NEXT J
110 GOTO 110

※画像をクリックすると動画再生します

@Tamakichi

This comment has been minimized.

Owner

Tamakichi commented Nov 7, 2018

NTSC画面での日本語フォント表示

5 CONSOLE 0
10 CLS
20 S="埼玉"
30 L=LEN(S):X0=10:X=X0:Y=50:N=4
40 FOR I=1 TO L
50 R=KFONT(MEM,ASC(S,I),24)
60 BITMAP X,Y,MEM,0,24,24,N
70 X=X+24*N+2
80 NEXT I
110 GOTO 110

dscn8978

@Tamakichi

This comment has been minimized.

Owner

Tamakichi commented Nov 7, 2018

OLED画面での日本語フォント表示

10 CLS 1
20 S="埼玉"
30 L=LEN(S):X0=15:X=X0:Y=10:N=2
40 FOR I=1 TO L
50 R=KFONT(MEM,ASC(S,I),24)
60 BITMAP X,Y,MEM,0,24,24,N
70 X=X+24*N+2
80 NEXT I

dscn8980

@Tamakichi

This comment has been minimized.

Owner

Tamakichi commented Nov 7, 2018

OLED画面での日本語フォント表示

10 'OLED日本語表示デモ
20 @(0)=8,10,12,14,16,20,24
30 S="吾輩は猫である。名前はまだ無い。どこで生れたかとんと見当がつかぬ。"
40 L=LEN(S)
50 FOR J=0 TO 6
60 Z=@(J):X0=0:X=X0:Y=0
70 CLS 1
80 FOR I=1 TO L
90 R=KFONT(MEM,ASC(S,I),Z)
100 BITMAP X,Y,MEM,0,Z,Z,1
110 IF (X+Z*2+1)>(GW-1) X=0:Y=Y+Z ELSE X=X+Z+1
120 IF Y+Z>GH-1 I=L
130 NEXT I
140 WAIT 500
150 NEXT J
160 GOTO 160

※画像をクリックすると動画再生します

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment