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

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