プチコンまとめWiki (初代/mkII)

投稿プログラム : プチコン用ひらがなフォント「PETIKANA」

2012年4月17日投稿 / 投稿者 : こあ/co.a / タグ : 投稿プログラム 投稿素材 フォント QRコード mkII専用

概要

PETIKANAは、5x7ドットのひらがなフォントです。
以下で紹介する、PETIKANA利用のためのサブルーチン集に組み込まれています。

”PRG:PETIKANA”

”PRG:PETIKANA” は、以下のサブルーチン集とその使用サンプルコードのセットです。
実行するとプチコンフォントの一部をひらがなフォント「PETIKANA」に書き換えた後、説明文を表示します。
以下に各サブルーチンの説明を記述します。

@PETIKANA

プチコンフォントの一部をひらがなフォント「PETIKANA」に書き換えるサブルーチンです。
GOSUB @PETIKANA で呼び出せます。

@PKN

文字列内の@で囲まれた範囲を、カタカナからひらがなに変換するサブルーチンです。
以下の文字列に関しても変換されます。

  • −(マイナス) → ー(長音)
  • ` → ”

PKN$ に変換したい文字列を代入した後、
GOSUB @PKN でサブルーチンを呼び出すと、
PKN$ に変換済み文字列が格納されます。

”PRG:PTKANA_S”

こちらは、実際に MERGE して利用するため、”PRG:PETIKANA” からサンプルコードを抜いたものです。
サブルーチン内のコメントとインデントも削って省サイズ化しております。

スクリーンショット・動画

スクリーンショットの代わりに、フォント一覧画像を貼り付けておきます。
petikana_font.png

QR コード

プチコンmkII 向けの QR コードです。

”PRG:PETIKANA”

PRG:PETIKANA
petikana01.pngpetikana02.png
1/22/2

”PRG:PTKANA_S”

PRG:PTKANA_S
ptkana_s01.png
1/1

プログラムリスト

”PRG:PETIKANA” のリストのみ記載します。

  1. CLEAR:ACLS
  2. FOR I=0 TO 255
  3.  ?CHR$(I);
  4. NEXT
  5. GOSUB @PETIKANA
  6. ?
  7. RESTORE @README
  8. @READ
  9. READ PKN$
  10. GOSUB @PKN
  11. IF PKN$!=”E” THEN ?PKN$:GOTO @READ
  12. @KEYLOOP
  13. IF INKEY$()==”” AND BUTTON(0)==0 GOTO @KEYLOOP
  14. END
  15. @README
  16. DATA ”●フ゜チコン@ヨウ ヒラカ゛ナ@フォント 「PETIKANA」”
  17. DATA ”・@@PETIKANA”
  18. DATA ” フォント@ヲ ヒラカ゛ナニ カキカエル@ サフ゛ルーチン”
  19. DATA ” 「GOSUB @@PETIKANA」@テ゛ カキカエ@”
  20. DATA ”・@@PKN”
  21. DATA ” @モシ゛レツヲ@ カナ→@カナ ニ ヘンカンスル@ サフ゛ルーチン”
  22. DATA ” −(マイナス)@→−(チョウオン)@ `@→` ニモ ヘンカン@”
  23. DATA ” PKN$@ニ ヘンカンシタイ カショヲ@ @@@テ゛ カコンテ゛@”
  24. DATA ” @タ゛イニュウコ゛@ 「GOSUB @@PKN」@ヲ ヨヒ゛タ゛スト@”
  25. DATA ” PKN$@ニ ヘンカンス゛ミ モシ゛レツカ゛ カクノウサレル@”
  26. DATA ”*サフ゛ルーチン@ノミ ハ゛ッスイシ @コメント@ト@ インテ゛ント@ヲ@”
  27. DATA ” @ケス゛ッタ `PRG:PTKANA_S`モ アリマスノテ゛@”
  28. DATA ” @コ゛リヨウノ サイハ ソチラヲ MERGE シテクタ゛サイ@”
  29. DATA ”−−−−−−−−− HIT ANY KEY −−−−−−−−−”
  30. DATA ”E”
  31. ’フ゜チコン ヨウ ヒラカ゛ナフォント
  32. @PETIKANA ’by co.a
  33.  RESTORE @SPKD
  34.  ’モシ゛コート゛ ヨミコミ
  35.  DIM SPKA[56]
  36.  SPKN=0
  37.  FOR SPKI=1 TO 9
  38.   READ SPKF,SPKT
  39.   FOR SPKJ=SPKF TO SPKT
  40.    SPKA[SPKN]=SPKJ
  41.    SPKN=SPKN+1
  42.   NEXT
  43.  NEXT
  44.  ’フォントテ゛ータ ヨミコミ
  45.  READ SPKD$,SPK2$,SPK3$
  46.  SPKD$=SPKD$+SPK2$+SPK3$
  47.  ’メイン
  48.  SPKN=0:SPKC=0
  49.  FOR SPKI=0 TO LEN(SPKD$)−1
  50.   ’アスキーコート゛カラ フォント セイセイ
  51.   SPKD=ASC(MID$(SPKD$,SPKI,1)) XOR 21
  52.   FOR SPKJ=0 TO 7
  53.    ’フォントテイキ゛ モシ゛レツ クリア
  54.    IF SPKC==0 THEN SPKF$=””
  55.    ’フォント ヒタ゛リ1dotハ 0コテイ
  56.    IF SPKC%5==0 THEN SPKF$=SPKF$+”0”
  57.    ’1bitス゛ツ フォントテイキ゛ニ ヘンカン
  58.    SPKF$=SPKF$+CHR$(48+(SPKD%2)*22)
  59.    SPKD=SPKD/2 AND 255
  60.    SPKC=SPKC+1
  61.    ’フォント ミキ゛3dotハ 0コテイ
  62.    IF SPKC%5==0 THEN SPKF$=SPKF$+”00”
  63.    ’フォントテイキ゛カ゛ 7レツ テ゛キレハ゛ セット
  64.    IF SPKC<35 GOTO @SPKX
  65.     ’ラスト 1ラインハ 0コテイ
  66.     SPKF$=SPKF$+”00000000”
  67.     CHRSET ”BGF0”,SPKA[SPKN],SPKF$
  68.     SPKC=0
  69.     SPKN=SPKN+1
  70.   @SPKX
  71.   NEXT
  72.  NEXT
  73. RETURN
  74. ’フォントテ゛ータ
  75. @SPKD
  76. DATA 3,8,14,17,21,23,26,27,128,143,156,159,176,176,232,239,244,255
  77. DATA ”ё>カ┿н─)ニАСオア1С%34У─lQ!Сチ%〜РE[GУСヌЙГС←6ロУСЗ┬ХЫムж>T┰$Вгユ│ДГП+73┥>ノ┫_ンセG7аГ└┿V┰←TД_(ーQユ│”
  78. DATA ”UОZлV−ュДW┰ワオレАVОシコ━д┘лVОБZлE’ЫёTンユ│Д7У+7We4┠←ヤ┥>ЕニО●ДWヤ_ャN「ВRフシ %クテシС←ЙС─o_ク6ア」━┣→7}ク”
  79. DATA ”О←DЁО)■チ/7┻iニзE゜コ◇ム◇v]┼━ホィ_4┘−┣→■。A┿。NМГ┬ew┷!]ュ←К┸$WQЗ’]C2チF〜¥├┰┥ナ→ヲケ┫_←4_X”
  80. ’カタカタ→ヒラカ゛ナ ヘンカン
  81. @PKN
  82.  ’ショキカ
  83.  PKNV$=PKN$
  84.  PKN$=””
  85.  ’メインルーフ゜
  86.  @PKNM
  87.   ’@ノ カイシイチ シュトク
  88.   PKNA=INSTR(PKNV$,”@”)
  89.   IF PKNA==−1 GOTO @PKNR
  90.   ’@ノ マエノ モシ゛レツヲ ケッカニ カクノウ
  91.   PKN$=PKN$+LEFT$(PKNV$,PKNA)
  92.   PKNV$=RIGHT$(PKNV$,LEN(PKNV$)−PKNA−1)
  93.   ’@ノ シュウリョウイチ シュトク
  94.   PKNE=INSTR(PKNV$,”@”)
  95.   IF PKNE==−1 GOTO @PKNM
  96.   ’@@ハ @ニ ヘンカン
  97.   IF PKNE==0 THEN PKN$=PKN$+”@”
  98.   ’カタカナ−ヒラカ゛ナ ヘンカン ルーフ゜
  99.   FOR PKNI=0 TO PKNE−1
  100.    PKNC$=MID$(PKNV$,PKNI,1)
  101.    GOSUB @PKNC
  102.    PKN$=PKN$+PKNC$
  103.   NEXT
  104.   PKNV$=RIGHT$(PKNV$,LEN(PKNV$)−PKNE−1)
  105.   GOTO @PKNM
  106.  ’メインルーフ゜ オワリ
  107.  @PKNR
  108.  PKN$=PKN$+PKNV$
  109. RETURN
  110. ’カタカナ→ヒラカ゛ナ ヘンカン(1モシ゛)
  111. @PKNC
  112.  ’ナカ゛サ チェック
  113.  IF LEN(PKNC$)!=1 THEN RETURN
  114.  PKCA=ASC(PKNC$)
  115.  ’−(マイナス)ハ ー(チョウオン)ニ ヘンカン
  116.  IF PKCA==45 THEN PKNC$=”ー”:RETURN
  117.  ’`ハ ”ニ ヘンカン
  118.  IF PKCA==96 THEN PKNC$=CHR$(34):RETURN
  119.  ’ヘンカン タイショウカ゛イ ナラ モト゛ル
  120.  PKCA=PKCA−163
  121.  IF PKCA<3 THEN RETURN
  122.  IF PKCA==13 THEN RETURN
  123.  IF PKCA>58 THEN RETURN
  124.  ’カタカナハ ヒラカ゛ナニ ヘンカン
  125.  IF PKCA>8 THEN PKCA=PKCA+5
  126.  IF PKCA>17 THEN PKCA=PKCA+2
  127.  IF PKCA>23 THEN PKCA=PKCA+2
  128.  IF PKCA>27 THEN PKCA=PKCA+100
  129.  IF PKCA>143 THEN PKCA=PKCA+12
  130.  IF PKCA>159 THEN PKCA=PKCA+72
  131.  IF PKCA>239 THEN PKCA=PKCA+4
  132.  PKNC$=CHR$(PKCA)
  133. RETURN

CHECKER FLAG (ひとことコメント)

この作品に対するコメントがあれば一言どうぞ。(作品に直接関係ない質問や雑談は掲示板へ)

  • とも : うごくメ○帳でつかっていいですか? (2012/04/21 (土) 15:33:54)
  • 匿名 : どうやって使うんだよ (2012/04/21 (土) 17:38:52)
  • こあ/co.a : うごメモでのご使用、どうぞどうぞ。あと、使い方に関しては"PRG:PETIKANA"を読んだりいじくったりすると分かりやすいかも。 (2012/04/21 (土) 22:48:53)
  • 名無しさん : QRコードのところをちょっと見やすく変えてみました。おきに召さなければバックアップから戻してください。 (2012/04/29 (日) 16:55:57)
  • こあ/co.a : あ、うごメモでどう使うんだよ!ってことか。目トレースだと思う、きっと。メモできたらURL希望です。あとwiki整形ありがとう! (2012/05/08 (火) 09:39:50)
  • hoy : 2012.5.16 投稿の「お誕生日おめでとう!」にひらがなフォントを使わせてもらいました。ありがとうございます。 (2012/05/27 (日) 15:21:17)
  • 菜緒君 : 高校の課題研究でマイコンを使ったLEDグラフィック表示器のフォントに使用したいのですが、よろしいですか? (2012/06/08 (金) 01:00:18)
  • こあ/co.a : どういたしまして。LEDグラフィックの方も、どうぞどうぞ。 (2012/06/10 (日) 11:29:49)
  • 菜緒君 : ありがとうございます。 (2012/06/12 (火) 21:07:50)
  • ウイング : PRGじゃなくて、BGFでロードする、ひらがなフォントが欲しいです (2012/07/26 (木) 10:53:02)
  • 名無しさん : ↑SAVE"BGF:PETIKANAでいいと思う。 (2012/07/26 (木) 12:36:13)
  • わぁぃ@ : うごメモでの使い方(上級者向け):GRPにフォント一覧を作成してそれをGIF等に変換してさらにPPMに変換したらうごメモが入っているフォルダにそれをぶち込み最後に管理ファイルをいじって終了。
    意外と管理ファイルがいじれずに失敗するのでいじれるソフトがあるか確認すること。 (2012/08/05 (日) 18:01:17)
  • 涼季遊 : 現在作成中のギャルゲーに使用して(非公式)プチコンコンテスト投稿に投稿したいのですが、よろしいですか? (2012/08/16 (木) 12:45:17)
  • Lv100 : プログラムリストを見るとカタカタ→ヒラガナってなってるところがある。 (2012/08/16 (木) 12:52:52)
  • Fox : @をつけてPKN$を呼び出しても変換されない・・ (2012/08/19 (日) 12:33:23)
  • ウイング : 便利ですね。使ってもいいですか? (2012/08/19 (日) 12:49:32)
  • わぁぃ@ : ↑素材として投稿していると思うので、普通に使うのであれば大丈夫なはず。 (2012/09/01 (土) 18:34:54)
  • わぁぃ@ : ↑↑変換範囲を終わりにも@をつけましたか? (2012/09/01 (土) 18:35:51)
  • るかか : 連絡が凄く遅くなってしまい、申し訳ありませんが、現在開発中のゲームで使わせて頂いています (2012/11/23 (金) 13:41:04)
  • n : 事後連絡になってしまい、すみません。 「PETIKANA」ありがたく使わせて頂いてます。サイズがコンパクトで、配布する際にほとんどQRコードが増えない点も素晴らしいですね! (2013/01/08 (火) 20:41:05)
  • こあ/co.a : 随分放ったらかしで申し訳ないですが、PETIKANAをご利用頂いた皆様、ありがとうございました。他の皆様もプチコンでご自由にご利用ください。ソースコードやフォントの改変もOKです。 (2013/01/29 (火) 22:24:57)
  • 12さいくん(12SsoftWare) : 開発中のOSもどきに使わせてもらいます。 (2013/07/29 (月) 15:38:25)
  • IKKI : こんにちわ、読み込まさせていただきました。 (2013/09/05 (木) 21:16:37)
  • IKKI : ”PRG:PTKANA_S”で[RETURN without GOSUB (32, RETURN)]と、表示されるのですが、どうしたら良いですか? (2013/09/05 (木) 21:40:18)
    • ふぁーs天郷思音 : 仕様ですね。プチコンの仕様というかプログラムの仕様です。もしGOSUBを使わずに組み込む場合はRETURNを削ってください。 (2013/09/06 (金) 16:09:48)
  • プチコン初心者 : PRINTはDATAに書き換えれば良いんですか?ならINPUTはどうすれば良いんですか? (2013/09/18 (水) 18:48:45)
  • ちくわ : ABCDEFGHIJKLMNOPQRSTUVWXYZ (2013/09/18 (水) 18:58:00)
  • ふぁーs天郷思音 : RETURNをけずる以外そのままで実行してみて。>プチコン初心者 (2013/09/18 (水) 20:09:04)
  • 愛知っこ : した画面に表示しようとしてもできない (2013/10/07 (月) 18:43:23)
  • 木 : か@ABC (2022/01/31 (月) 10:58:26)

表示モード : [ スマホ・3DS対応表示 | クラシック表示 ]
PukiWiki 1.4.7 Copyright © 2001-2006 PukiWiki Developers Team. License is GPL. Based on "PukiWiki" 1.3 by yu-ji
ページの処理時間 : 0.172 秒 | このページの最終更新 : 2022/09/20 (火) 12:44:13 (565d) | ログイン
Copyright(C) 2011-2014 プチコンまとめWiki ◆1sxkymI8ji30