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

投稿プログラム : ローマ字の休日 (ローマ字変換ライブラリ)

パンくずリスト

2012年7月14日投稿 / 投稿者 : AmakoSoft / タグ : 投稿プログラム 実用ツール QRコード mkII専用

概要

ローマ字変換をするライブラリのようなものです

使い方

「PRG:ROMA4」を使いたいプログラムにAPPENDする

1:プログラムの最初に「@R_INIT」をよびだす
2:AGU$にローマ字の入った文字列を入れる
3:「@ROMA」をよびだす
4:RTN$に変換されたひらがな文字列が入っている

カタカナ入力をしたい時

 1:AGU$にひらがな文字列を入れる
 2:「@H_K」をよびだす
 3:RTN$にカタカナ文字列が入っている

構成

 @R_INIT:データの定義、初期化をする。
      プログラムの最初に呼び出す。
 @ROMA :ローマ字文字列をひらがな文字列に変換する。
 @H_K :ひらがな文字列をカタカナ文字列に変換する。

変換速度

 @ROMA:0.03〜2.12フレーム
 @H_K :0.02フレーム

AmakoSoftとは

 AmakoSoftとは、プチコンやWindows用ソフトを作る組織のことです。
 ホームページ  暗号くん

QR コード

プチコンmkII 向けの QR コードです。
美咲ひらがなフォントがついてきます。
qr6.png(1/6) qr7.png(2/6) qr8.png(3/6)
qr9.png(4/6) qr10.png(5/6) qr11.png(6/6)

プログラムリスト

  1. ’/////////////////////
  2. ’/ロ―マシ゛ノキュウシ゛ツ Ver3.0/
  3. ’/////////////////////
  4. ’コノフ゜ロク゛ラムハMISAKIヒラカ゛ナフォントヲシヨウシテイマス
  5. ’コウセイ
  6. ’ショキカ       :@R_INIT
  7. ’ロ−マシ゛→ヒラカ゛ナ:@ROMA
  8. ’ヒラカ゛ナ→カタカナ :@H_K
  9. ’ツカイカタ
  10. ’1:フ゜ロク゛ラムサイショニ@R_INITヲヨヒ゛タ゛ス
  11. ’2:ロ−マシ゛→ヒラカ゛ナノハ゛アイ
  12. ’   AGU$ニロ−マシ゛ヲイレテ、@ROMAヲヨヒ゛タ゛ス
  13. ’   スルトRTN$ニヒラカ゛ナカ゛カエッテクル
  14. ’  ヒラカ゛ナ→カタカナノハ゛アイ
  15. ’   AGU$ニヒラカ゛ナヲイレテ、@H_Kヲヨヒ゛タ゛ス
  16. ’   スルトRTN$ニカタカナカ゛カエッテクル
  17. ’サンフ゜ル
  18. CLEAR:CLS
  19. GOSUB@R_INIT
  20. ?”Э▽フ゜ロク゛ラムЮmisakiフォント┸├ЩЯ├┘бУ┼。
  21. ?”ロ−マ├Ц┸б┝┘┐╂Ц─б
  22. LINPUT AGU$GOSUB@ROMA
  23. ?RTN$
  24. AGU$=RTN$GOSUB@H_K
  25. TALK RTN$
  26. @B
  27. IF BTRIG()==0GOTO@B
  28. CLS
  29. END
  30. @R_INIT
  31. DIM R_D$(9,4),R_K$(9,4)
  32. FOR X=0TO 7
  33. FOR Y=0TO 3R_D$(X,Y)=”
  34. R_K$(X,Y)=”
  35. NEXT
  36. NEXT
  37. R_D$(0,0)=”AIUEO[].,
  38. R_K$(0,0)=”абЯвВ「」。、
  39. RESTORE@R_DATA
  40. FOR X=1TO 8
  41. FOR Y=0TO 3READ R_D$(X,Y)
  42. NEXT
  43. FOR Y=0TO 3READ R_K$(X,Y)
  44. NEXT
  45. NEXT
  46. HDAT$=”абЯвВ┌┬┐ЫЭ─├┼┤С╂└┴┘к○◎□△▽ЮЬМНДУТгеёлм┿┝┰дЪЩЙЦЧ┸┥ж↑и↓
  47. KDAT$=”アイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモラリルレロヤユヨン゛゜ヲワャュョッ
  48. RETURN
  49. @R_DATA
  50. DATA KKKKKSSSSSTTTTTNNNNNHHHHHMMMMMYYYRRRRRWWLLLLLXXXXXFCCCCC
  51. DATA AIUEOAIUEOAIUEOAIUEOAIUEOAIUEOAUOAIUEOAOAIUEOAIUEOUAIUEO,,
  52. DATA┌┬┐ЫЭ─├┼┤С╂└┴┘к○◎□△▽ЮЬМНДУТгеёдЪЩлм┿┝┰┥┸■▲▼ОЖ■▲▼ОЖМ┌├┐┤Э,,,,GGGGGZZZZZDDDDDBBBBBPPPPPVJFFFF
  53. DATA AIUEOAIUEOAIUEOAIUEOAIUEOUIAIEO,,,┌┬┐ЫЭ─├┼┤С╂└┴┘кЮЬМНДЮЬМНДЯ├ММММ
  54. DATAЦЦЦЦЦЦЦЦЦЦЦЦЦЦЦЦЦЦЦЦЧЧЧЧЧЦЦ■▲ОЖ,,,JJJJVVVV,AUEOAIEO,,,├├├├ЯЯЯЯ,ЦЦЦЦЦЦЦЦ,ж↑Ои■▲ОЖ,
  55. DATA KSTNHMYRWGZDBP,KSTNHMYRWGZDBP,,,↓↓↓↓↓↓↓↓↓↓↓↓↓↓,,,,SCLXT,HHTTS,IIUUU,,├└↓↓┴,,,
  56. DATA SSSSCCCCKKKSSSTTTNNNHHHMMMRRR,HHHHHHHHYYYYYYYYYYYYYYYYYYYYY,AUEOAUEOAUOAUOAUOAUOAUOAUOAUO,
  57. DATA├├├├└└└└┬┬┬├├├└└└◎◎◎ЬЬЬТТТммм,ж↑Оиж↑Оиж↑иж↑иж↑иж↑иж↑иж↑иж↑и,,,GGGZZZDDDBBBPPP,YYYYYYYYYYYYYYY
  58. DATA AUOAUOAUOAUOAUO,,┬┬┬├├├└└└ЬЬЬЬЬЬ,ЦЦЦЦЦЦЦЦЦЦЦЦЧЧЧ,ж↑иж↑иж↑иж↑иж↑и,,LX,TT,SS,UU,↓↓,,,
  59. @ROMA
  60. RA$=AGU$R$=”
  61. FOR R=0TO LEN(RA$)−1S$=MID$(RA$,R,1)S=INSTR(R_D$(0,0),S$)IF S$==”N”THEN GOSUB@NN
  62. IF ASE==1GOTO@REND
  63. IF S==−1GOTO@NOT1 ELSE R$=R$+MID$(R_K$(0,0),S,1)
  64. GOTO@REND
  65. @NOT1
  66. S$=MID$(RA$,R,2)
  67. FOR R2=0TO LEN(R_D$(1,0))−1RW$=MID$(R_D$(1,0),R2,1)+MID$(R_D$(1,1),R2,1)IF S$!=RW$GOTO@RLE
  68. IF R+1>=LEN(RA$)GOTO@RLE
  69. R$=R$+MID$(R_K$(1,0),R2,1)+MID$(R_K$(1,1),R2,1)R=R+1R2=999
  70. @RLE
  71. NEXT
  72. IF R2>998GOTO@REND
  73. FOR R2=0TO LEN(R_D$(2,0))−1RW$=MID$(R_D$(2,0),R2,1)+MID$(R_D$(2,1),R2,1)IF S$!=RW$GOTO@RLE2
  74. R$=R$+MID$(R_K$(2,0),R2,1)+MID$(R_K$(2,1),R2,1)R=R+1R2=999
  75. @RLE2
  76. NEXT
  77. IF R2>998GOTO@REND
  78. FOR R2=0TO LEN(R_D$(3,0))−1RW$=MID$(R_D$(3,0),R2,1)+MID$(R_D$(3,1),R2,1)IF S$!=RW$GOTO@RLE3
  79. R$=R$+MID$(R_K$(3,0),R2,1)+MID$(R_K$(3,1),R2,1)+MID$(R_K$(3,2),R2,1)R=R+1R2=999
  80. @RLE3
  81. NEXT
  82. IF R2>998GOTO@REND
  83. FOR R2=0TO LEN(R_D$(4,0))−1RW$=MID$(R_D$(4,0),R2,1)+MID$(R_D$(4,1),R2,1)IF S$!=RW$GOTO@RLE4
  84. R$=R$+MID$(R_K$(4,0),R2,1)+MID$(R_K$(4,1),R2,1)R2=999
  85. @RLE4
  86. NEXT
  87. IF R2>998GOTO@REND
  88. S$=MID$(RA$,R,3)
  89. FOR R2=0TO LEN(R_D$(5,0))−1RW$=MID$(R_D$(5,0),R2,1)+MID$(R_D$(5,1),R2,1)+MID$(R_D$(5,2),R2,1)
  90. IF R+2>=LEN(RA$)GOTO@RLE5
  91. IF S$!=RW$GOTO@RLE5
  92. R$=R$+MID$(R_K$(5,0),R2,1)R=R+2R2=999
  93. @RLE5
  94. NEXT
  95. IF R2>998GOTO@REND
  96. S$=MID$(RA$,R,3)
  97. FOR R2=0TO LEN(R_D$(6,0))−1RW$=MID$(R_D$(6,0),R2,1)+MID$(R_D$(6,1),R2,1)+MID$(R_D$(6,2),R2,1)
  98. IF R+2>=LEN(RA$)GOTO@RLE6
  99. IF S$!=RW$GOTO@RLE6
  100. R$=R$+MID$(R_K$(6,0),R2,1)+MID$(R_K$(6,1),R2,1)R=R+2R2=999
  101. @RLE6
  102. NEXT
  103. IF R2>998GOTO@REND
  104. S$=MID$(RA$,R,3)
  105. FOR R2=0TO LEN(R_D$(7,0))−1RW$=MID$(R_D$(7,0),R2,1)+MID$(R_D$(7,1),R2,1)+MID$(R_D$(7,2),R2,1)
  106. IF R+2>=LEN(RA$)GOTO@RLE7
  107. IF S$!=RW$GOTO@RLE7
  108. R$=R$+MID$(R_K$(7,0),R2,1)+MID$(R_K$(7,1),R2,1)+MID$(R_K$(7,2),R2,1)R=R+2R2=999
  109. @RLE7
  110. NEXT
  111. IF R2>998GOTO@REND
  112. S$=MID$(RA$,R,4)
  113. FOR R2=0TO LEN(R_D$(8,0))−1
  114. IF R+3>=LEN(RA$)GOTO@RLE8
  115. RW$=MID$(R_D$(8,0),R2,1)+MID$(R_D$(8,1),R2,1)+MID$(R_D$(8,2),R2,1)+MID$(R_D$(8,3),R2,1)
  116. IF S$!=RW$GOTO@RLE8
  117. R$=R$+MID$(R_K$(8,0),R2,1)R=R+3R2=999
  118. @RLE8
  119. NEXT
  120. IF R2>998GOTO@REND
  121. R$=R$+MID$(RA$,R,1)
  122. @REND
  123. ASE=0
  124. NEXT
  125. RTN$=R$RETURN
  126. @NN
  127. IF R+1>=LEN(RA$)THEN RETURN
  128. RX$=MID$(RA$,R+1,1)IF RX$==”A”OR RX$==”I”THEN RETURN
  129. IF RX$==”U”OR RX$==”E”THEN RETURN
  130. IF RX$==”O”THEN RETURN
  131. IF RX$==”N”THEN R=R+1
  132. ASE=1R$=R$+”Й
  133. RETURN
  134. @H_K
  135. RTN$=”
  136. FOR R=0TO LEN(AGU$)−1RF=1S=INSTR(HDAT$,MID$(AGU$,R,1))IF S==−1THEN RF=0
  137. IF RF THEN RTN$=RTN$+MID$(KDAT$,S,1)ELSE RTN$=RTN$+MID$(AGU$,R,1)
  138. NEXT
  139. RETURN

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

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

  • 名無しさん : オーシャンゼリーゼー (2012/07/14 (土) 23:36:17)
  • 投稿者 : オーシャンゼリーゼーはローマじゃないフランスだ (2012/07/26 (木) 10:22:05)
  • 名無しさん : パッケージで美咲フォントを組み込んでいるのか・・・どおりでAPPENDしてもうまく動かない。ライブラリなんだから、ローマ字とカタカナの変換ルーチンだけのほうがいいと思う (2012/09/08 (土) 19:15:17)
  • 投稿者 : PCフォントっていう改造フォントを使っているので (2012/09/08 (土) 20:43:58)
  • 名無しさん : おーしゃんねいぃぜぇ (2012/09/08 (土) 22:02:42)
  • 名無しさん : 休日いらないだろks (2012/09/08 (土) 22:03:05)
  • 名無しさん : 祝日 (2012/09/08 (土) 22:18:26)
  • 名無しさん : 大鳥居さんをdisるなよ (2012/09/08 (土) 22:30:07)
  • 名無しさん : これを使う人はローマ字変換機能が欲しい(自分のプログラムに組み込みたい)だけであって、フォントは自由に好きなものを使いたいのでは。 (2012/09/08 (土) 23:27:08)
  • 名無しさん : ひらがなのコードはフォントに依存するから、セットになるのはやむを得ないのでは。 (2012/09/23 (日) 09:12:34)
  • 名無しさん : だから、ひらがながいらないんですよ。標準のカタカナで十分。 (2012/09/23 (日) 11:01:41)
  • わぁぃ* : 確かにカタカナだけでいいって場面もよくありますね。オプションとしてならいいけど、最初からひらがな使用を前提にするのはまずいな。 (2012/09/23 (日) 11:41:08)
  • 名無しさん : 美咲フォントの他にも、コード位置が違うひらがなフォントがいくつか発表されていてカバーしきれないので、オプションでも要らないですね。ローマ字変換に特化してくれるのが一番よい。 (2012/09/23 (日) 12:32:27)
  • @ななし : この調子で漢字変換ソフトウェア作ってほしい (2013/03/02 (土) 12:42:08)
  • いったん : ↑IME作るとか面倒すぎるでしょ・・・データ文めちゃくちゃ多くなりそう。 (2013/03/02 (土) 14:26:56)
  • 名無しさん : まともな物作ろうとしたらデータ文だと死ぬのでCHRやGRPだろうけど (2013/03/02 (土) 14:32:01)
  • @ななし : 漢字変換にするなら辞書はGRPなどに入れなきゃいけない。 (2013/03/07 (木) 12:58:52)
  • 天郷思音 : AmakoSoftは単独でも役に立つものを無理やりセットにして配布してるから評価されないのよね。 (2013/03/21 (木) 15:14:52)
  • @ななし : とりあえず製作者に問い合わせてみる。もしかしたら美咲フォント不必要版あるかも (2013/04/21 (日) 09:53:23)

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