●装飾表示

「●装飾表示」の編集履歴(バックアップ)一覧はこちら

●装飾表示 - (2008/09/16 (火) 22:21:44) の1つ前との変更点

追加された行は緑色になります。

削除された行は赤色になります。

*情報 作者名:U D 引用元:[[なでしこプログラム掲示板「装飾表示」>http://www.himanavi.net/cgi/nade-bbs/cbbs.cgi?mode=al2&namber=788&rev=&no=0]] *概要 日本語タグでマークアップした文書を装飾して表示します。 日本語タグのマークアップ仕様については、HTMLを真似ています。 *解説 #image(無題.PNG,width=428,height=554) ***引数 OBJ:描画先 X1:X座標(左上) Y1:Y座標(左上) S:マークアップされた文書 ***返り値 *サンプルプログラム 母艦について  タイトルは『装飾表示(テキストマークアップ)』  クライアントW=420  クライアントH=520 黒色で画面クリア 文字色は白色。文字サイズは11 「 これはなでしこで<文字 色=$FF33FF サイズ=13>マークアップテキスト</文字>を表示するための、<改行> <文字 色=$FF33FF サイズ=13>"装飾表示"</文字>関数の<太字>サンプル文章兼説明</太字>です。<改行> <改行><改行>  <太字><文字 色=赤色>●</文字>文字タグ</太字> {タグカッコ}文字{タグカッコ閉じ}~{タグカッコ}/文字{タグカッコ閉じ} <改行> タグで囲まれた<太字>波線部分</太字>を指定した属性で装飾します。 <改行>  例){タグカッコ}文字 色=緑色 サイズ=15{タグカッコ閉じ} <文字 色=緑色 サイズ=15>文字</文字>{タグカッコ}/文字{タグカッコ閉じ}<改行> 指定することのできる属性は以下の通りです。 <改行> ・色=COLOR <改行>  <文字 色=$FF33FF>なでしこ</文字>で使うことのできる<文字 色=$FF33FF>カラーコードと同様</文字>の指定が可能。<改行>  例) <文字 色=赤色> 色=赤色</文字> <文字 色=RGB(224,224,0)> 色=RGB(224,224,0)</文字> <文字 色=$0000FF> 色=$0000FF</文字> <改行> ・サイズ=SIZE <改行>  文字の大きさを整数値で指定する。<改行>  例)<文字 サイズ=15>サイズ=15 </文字> <改行><改行>  <太字><文字 色=赤色>●</文字>太字タグ</太字> {タグカッコ}太字{タグカッコ閉じ}~{タグカッコ}/太字{タグカッコ閉じ}<改行> タグで囲まれた<太字>波線部分</太字>を<太字>太字</太字>にして強調します。<改行>  例){タグカッコ}太字{タグカッコ閉じ}<太字>太字</太字>{タグカッコ}/太字{タグカッコ閉じ}<改行> 指定することのできる属性はありません。<改行> <改行><改行>  <太字><文字 色=赤色>●</文字>斜体タグ</太字> {タグカッコ}斜体{タグカッコ閉じ}~{タグカッコ}/斜体{タグカッコ閉じ}<改行> タグで囲まれた<太字>波線部分</太字>を<斜体>斜体</斜体>にして強調します。<改行>  例){タグカッコ}斜体{タグカッコ閉じ}<斜体>斜体</斜体>{タグカッコ}/斜体{タグカッコ閉じ}<改行> 指定することのできる属性はありません。<改行> <改行><改行>  <太字><文字 色=赤色>●</文字>改行タグ</太字> {タグカッコ}改行{タグカッコ閉じ}(終了タグなし)<改行> 改行タグを挿入した場所で改行します。<改行> <太字>改行タグがなければこの文書は改行しません。</太字> <改行><改行> 」と母艦の15,25に装飾表示する。 *//本体 #-*-*-*-*-*-*-*-*-*-*-*-*-*-#-*-*-*-*-*-*-*-*-*-*-*-*-*-# #-*-*-*-*-* "装飾表示"命令ライブラリ ここから *-*-*-*-*-# #-*-*-*-*-*-*-*-*-*-*-*-*-*-#-*-*-*-*-*-*-*-*-*-*-*-*-*-# #-----------------# Created By U D #-------------------# #-*-*-*-*-*-*-*-*-*-*-*-*-*-#-*-*-*-*-*-*-*-*-*-*-*-*-*-# !タグカッコ =`<` ※ < !タグカッコ閉=`>` ※ > !F_通常  =1 !F_タグ開始=2 !F_タグ終了=3 ●装飾表示({グループ=?母艦}OBJの{整数=?}X1,{整数=?}Y1へ{文字列=?}Sを|Y1にSと)  状態とは整数=F_通常  もしSが空ならばS=それ  もしX1が空ならばX1=基本X  もしY1が空ならばY1=基本Y  基本X=X1。基本Y=Y1  フォントとはハッシュ="色={文字色}{~}サイズ={文字サイズ}{~}書体=標準"  スタックとは配列。POSとは整数。SIZESとは配列  スタック[0]=フォント。フォントに属性設定  Sの`(<|>|/)`を改行&`$1`&改行へ正規表現置換えて反復   状態で条件分岐    F_通常ならば     もし対象が`<`ならば状態=F_タグ開始     違えば      対象のタグカッコを`<`に置換      タグカッコ閉じを`>`に置換      それをOBJの基本X,基本Yへ文字表示      基本X=それの文字幅取得+基本X      文字サイズをSIZESに配列追加    F_タグ開始ならば     もし対象が`/`ならば状態=F_タグ終了     違えば、もし対象が`>`ならば状態はF_通常。続ける     違えば # 状態=F_タグ内容      対象の2文字左部分で条件分岐       `文字`ならば        フォントはスタック[POS]        フォントに対象を属性設定        POS=POS+1。スタック[POS]=フォント       `太字`ならば        フォントはスタック[POS]        フォント@`書体`は`太字`        フォントに属性設定        POS=POS+1。スタック[POS]=フォント       `斜体`ならば        フォントはスタック[POS]        フォント@`書体`は`斜体`        フォントに属性設定        POS=POS+1。スタック[POS]=フォント       `改行`ならば        SIZESを配列数値ソート。SIZESを配列逆順        SIZES[1]=文字書体。文字書体=`MS Pゴシック|`&SIZES[0]&`|標準`        基本X=X1。基本Y=`高さ`の文字高さ取得+基本Y        文字書体=SIZES[1]。SIZESは空    F_タグ終了ならば     もし対象が`文字|太字|斜体`に正規表現一致するならば      POS=POS-1      フォントはスタック[POS]      フォントに属性設定     もし対象が`>`ならば状態はF_通常 ●属性設定({参照渡し ハッシュ}Aに{文字列=?}Bを)  PREとは整数=1。CNTとは整数=1。STRとは文字列  Bの1から3文字削除。B=B&` `  必要の間   CNT=BでPREから`=`を文字検索   もしCNTがPREならば抜ける   STR=BのPREから(CNT-PRE)文字抜き出す   STRで条件分岐    `色`ならば     Bを`色=([^ .]+)`で正規表現マッチ     A@`色`=EVAL(抽出文字列[0])     CNT=抽出文字列[0]の文字数+CNT+2     /*# EVALで不具合が起きるようならこちらに処理を入れ替え     もしSTRが`RGB\((\d+),(\d+),(\d+)\)`に正規表現一致するならば      A@`色`=RGB(抽出文字列[0],抽出文字列[1],抽出文字列[2])     違えば、もしSTRが`#(.+)`に正規表現一致するならば      A@`色`=INT(`$`&抽出文字列)     違えば、A@`色`=(STR)     #*/    `サイズ`ならば     Bを`サイズ=([^ .]+)`で正規表現マッチ     A@`サイズ`=INT(抽出文字列[0])     CNT=抽出文字列[0]の文字数+CNT+2   PRE=CNT  文字色=A@`色`  文字サイズ=A@`サイズ`  文字書体=`MS Pゴシック|`&文字サイズ&`|`&(A@`書体`) #-*-*-*-*-*-*-*-*-*-*-*-*-*-#-*-*-*-*-*-*-*-*-*-*-*-*-*-# #-*-*-*-*-* "装飾表示"命令ライブラリ ここまで *-*-*-*-*-# #-*-*-*-*-*-*-*-*-*-*-*-*-*-#-*-*-*-*-*-*-*-*-*-*-*-*-*-# ---- #comment() ----
*情報 作者名:U D 引用元:[[なでしこプログラム掲示板「装飾表示」>http://www.himanavi.net/cgi/nade-bbs/cbbs.cgi?mode=al2&namber=788&rev=&no=0]] *概要 日本語タグでマークアップした文書を装飾して表示します。 日本語タグのマークアップ仕様については、HTMLを真似ています。 *解説 #image(無題.PNG,width=428,height=554) #ref(http://www26.atwiki.jp/isoroku_be?cmd=upload&act=open&pageid=69&file=%E7%84%A1%E9%A1%8C.PNG,width=428,height=554) #image(ここに画像のURLを入力,http://www26.atwiki.jp/isoroku_be?cmd=upload&act=open&pageid=69&file=%E7%84%A1%E9%A1%8C.PNG) ***引数 OBJ:描画先 X1:X座標(左上) Y1:Y座標(左上) S:マークアップされた文書 ***返り値 *サンプルプログラム 母艦について  タイトルは『装飾表示(テキストマークアップ)』  クライアントW=420  クライアントH=520 黒色で画面クリア 文字色は白色。文字サイズは11 「 これはなでしこで<文字 色=$FF33FF サイズ=13>マークアップテキスト</文字>を表示するための、<改行> <文字 色=$FF33FF サイズ=13>"装飾表示"</文字>関数の<太字>サンプル文章兼説明</太字>です。<改行> <改行><改行>  <太字><文字 色=赤色>●</文字>文字タグ</太字> {タグカッコ}文字{タグカッコ閉じ}~{タグカッコ}/文字{タグカッコ閉じ} <改行> タグで囲まれた<太字>波線部分</太字>を指定した属性で装飾します。 <改行>  例){タグカッコ}文字 色=緑色 サイズ=15{タグカッコ閉じ} <文字 色=緑色 サイズ=15>文字</文字>{タグカッコ}/文字{タグカッコ閉じ}<改行> 指定することのできる属性は以下の通りです。 <改行> ・色=COLOR <改行>  <文字 色=$FF33FF>なでしこ</文字>で使うことのできる<文字 色=$FF33FF>カラーコードと同様</文字>の指定が可能。<改行>  例) <文字 色=赤色> 色=赤色</文字> <文字 色=RGB(224,224,0)> 色=RGB(224,224,0)</文字> <文字 色=$0000FF> 色=$0000FF</文字> <改行> ・サイズ=SIZE <改行>  文字の大きさを整数値で指定する。<改行>  例)<文字 サイズ=15>サイズ=15 </文字> <改行><改行>  <太字><文字 色=赤色>●</文字>太字タグ</太字> {タグカッコ}太字{タグカッコ閉じ}~{タグカッコ}/太字{タグカッコ閉じ}<改行> タグで囲まれた<太字>波線部分</太字>を<太字>太字</太字>にして強調します。<改行>  例){タグカッコ}太字{タグカッコ閉じ}<太字>太字</太字>{タグカッコ}/太字{タグカッコ閉じ}<改行> 指定することのできる属性はありません。<改行> <改行><改行>  <太字><文字 色=赤色>●</文字>斜体タグ</太字> {タグカッコ}斜体{タグカッコ閉じ}~{タグカッコ}/斜体{タグカッコ閉じ}<改行> タグで囲まれた<太字>波線部分</太字>を<斜体>斜体</斜体>にして強調します。<改行>  例){タグカッコ}斜体{タグカッコ閉じ}<斜体>斜体</斜体>{タグカッコ}/斜体{タグカッコ閉じ}<改行> 指定することのできる属性はありません。<改行> <改行><改行>  <太字><文字 色=赤色>●</文字>改行タグ</太字> {タグカッコ}改行{タグカッコ閉じ}(終了タグなし)<改行> 改行タグを挿入した場所で改行します。<改行> <太字>改行タグがなければこの文書は改行しません。</太字> <改行><改行> 」と母艦の15,25に装飾表示する。 *//本体 #-*-*-*-*-*-*-*-*-*-*-*-*-*-#-*-*-*-*-*-*-*-*-*-*-*-*-*-# #-*-*-*-*-* "装飾表示"命令ライブラリ ここから *-*-*-*-*-# #-*-*-*-*-*-*-*-*-*-*-*-*-*-#-*-*-*-*-*-*-*-*-*-*-*-*-*-# #-----------------# Created By U D #-------------------# #-*-*-*-*-*-*-*-*-*-*-*-*-*-#-*-*-*-*-*-*-*-*-*-*-*-*-*-# !タグカッコ =`<` ※ < !タグカッコ閉=`>` ※ > !F_通常  =1 !F_タグ開始=2 !F_タグ終了=3 ●装飾表示({グループ=?母艦}OBJの{整数=?}X1,{整数=?}Y1へ{文字列=?}Sを|Y1にSと)  状態とは整数=F_通常  もしSが空ならばS=それ  もしX1が空ならばX1=基本X  もしY1が空ならばY1=基本Y  基本X=X1。基本Y=Y1  フォントとはハッシュ="色={文字色}{~}サイズ={文字サイズ}{~}書体=標準"  スタックとは配列。POSとは整数。SIZESとは配列  スタック[0]=フォント。フォントに属性設定  Sの`(<|>|/)`を改行&`$1`&改行へ正規表現置換えて反復   状態で条件分岐    F_通常ならば     もし対象が`<`ならば状態=F_タグ開始     違えば      対象のタグカッコを`<`に置換      タグカッコ閉じを`>`に置換      それをOBJの基本X,基本Yへ文字表示      基本X=それの文字幅取得+基本X      文字サイズをSIZESに配列追加    F_タグ開始ならば     もし対象が`/`ならば状態=F_タグ終了     違えば、もし対象が`>`ならば状態はF_通常。続ける     違えば # 状態=F_タグ内容      対象の2文字左部分で条件分岐       `文字`ならば        フォントはスタック[POS]        フォントに対象を属性設定        POS=POS+1。スタック[POS]=フォント       `太字`ならば        フォントはスタック[POS]        フォント@`書体`は`太字`        フォントに属性設定        POS=POS+1。スタック[POS]=フォント       `斜体`ならば        フォントはスタック[POS]        フォント@`書体`は`斜体`        フォントに属性設定        POS=POS+1。スタック[POS]=フォント       `改行`ならば        SIZESを配列数値ソート。SIZESを配列逆順        SIZES[1]=文字書体。文字書体=`MS Pゴシック|`&SIZES[0]&`|標準`        基本X=X1。基本Y=`高さ`の文字高さ取得+基本Y        文字書体=SIZES[1]。SIZESは空    F_タグ終了ならば     もし対象が`文字|太字|斜体`に正規表現一致するならば      POS=POS-1      フォントはスタック[POS]      フォントに属性設定     もし対象が`>`ならば状態はF_通常 ●属性設定({参照渡し ハッシュ}Aに{文字列=?}Bを)  PREとは整数=1。CNTとは整数=1。STRとは文字列  Bの1から3文字削除。B=B&` `  必要の間   CNT=BでPREから`=`を文字検索   もしCNTがPREならば抜ける   STR=BのPREから(CNT-PRE)文字抜き出す   STRで条件分岐    `色`ならば     Bを`色=([^ .]+)`で正規表現マッチ     A@`色`=EVAL(抽出文字列[0])     CNT=抽出文字列[0]の文字数+CNT+2     /*# EVALで不具合が起きるようならこちらに処理を入れ替え     もしSTRが`RGB\((\d+),(\d+),(\d+)\)`に正規表現一致するならば      A@`色`=RGB(抽出文字列[0],抽出文字列[1],抽出文字列[2])     違えば、もしSTRが`#(.+)`に正規表現一致するならば      A@`色`=INT(`$`&抽出文字列)     違えば、A@`色`=(STR)     #*/    `サイズ`ならば     Bを`サイズ=([^ .]+)`で正規表現マッチ     A@`サイズ`=INT(抽出文字列[0])     CNT=抽出文字列[0]の文字数+CNT+2   PRE=CNT  文字色=A@`色`  文字サイズ=A@`サイズ`  文字書体=`MS Pゴシック|`&文字サイズ&`|`&(A@`書体`) #-*-*-*-*-*-*-*-*-*-*-*-*-*-#-*-*-*-*-*-*-*-*-*-*-*-*-*-# #-*-*-*-*-* "装飾表示"命令ライブラリ ここまで *-*-*-*-*-# #-*-*-*-*-*-*-*-*-*-*-*-*-*-#-*-*-*-*-*-*-*-*-*-*-*-*-*-# ---- #comment() ----

表示オプション

横に並べて表示:
変化行の前後のみ表示:
ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。