{部区}{希哲16年1月18日の開発}{希哲16年1月18日12歩}{行内埋め込み}{行内埋め込み記法}{書き分けられる}{視覚的な}{導入予定}{短くする}{目立ちにく過ぎる}...=}(161)

{希哲16年1月18日8歩 K#F85E/A-E74C-91F1}

進捗時限記録中略

埋め込み記法渡括記法)の応付子オプションなどについての検討終了

概ね方針が固まってきた

引数風の応付子

これまで埋め込み記法には,埋め込み方細かく指定するような機能がなく,例えば画像埋め込みでも表示サイズ水平方向寄せ方指定出来なかった。この問題当然当初から認識していたが,どうしてもごちゃごちゃしがちな部分なので,直感的美しい記法練るのに時間がかかった差し当たり欲しいのは画像埋め込み表示サイズ寄せ方指定出来る機能だが,他の埋め込み対象でも使える汎用的な枠組み整えておきたい

そこで,[寄せ方指定スペース]+([応付])[埋め込み対象]形式採用することにした。例えば,添付譜類PNG 画像100x100埋め込みたい場合,+(100x100)png書けるようにする。

丸括弧内は,函数引数風にコンマ区切りで,埋め込み対象毎に使える応付子設定する。引数名指定出来るように a=xa:x受け取ってもいいが,柔軟性必要なのであえて必須にはしない。スペースを含む文字列扱いたい場合考えられなくはないのでとりあえずコンマ区切りにしておくが,各引数扱い駒手欄感覚近い

他のとして,+100x100 png+100x100,png のように全てを引数的に扱うことも考えたが,あくまでも埋め込み対象とする応付役割まとまり一番分かりやすいという点で丸括弧採用する。また,埋め込み対象URL など長い文字列になることも多いため,応付+直後置く。あるいは,末尾に置く書き分けられるようにする。

水平方向寄せ方

水平方向寄せ方は,表組み記法採用予定スペースを使う方法応用することにした。以下のように,+ 前のスペース無しは無指定4つ未満は左寄せ4つ以上で中央寄せ6つ以上で右寄せとする予定

+png            <!-- 無指定 -->
  +png          <!-- 左寄せ -->
    +png        <!-- 中央寄せ -->
      +png      <!-- 右寄せ -->

直感性でいえば矢印のような記号導入することも考えられる。となるとまず <>使うことになるが,すでに多用しているため無闇役割広げる記号意味稀薄化しかねない。そうでなければ leftcenterright のようなキーワード導入するくらいしかないだろう。いずれにせよ,見た目的にもあまり美しくない

当初,以下のようにスペースの数表組み記法合わせようとした2つ中央寄せ3つ右寄せが,いくつか問題がある。

+png         <!-- 無指定 -->
 +png        <!-- 左寄せ -->
  +png       <!-- 中央寄せ -->
   +png      <!-- 右寄せ -->

まず,表組みにおけるセル内での編集に比べそこまで編集効率問題にならないためここまで短くする必要もなく,比較的長くなる後続文字列に対して目立ちにく過ぎる単純にスペース2つ中央寄せ3つ右寄せ表現には見えない

さらに致命的な問題は,いくつかの他記法との整合性だ。導入予定字下げ記法では,行頭全角スペース使う。あまり好き記法ではないが,Markdown4つの半角スペースを使う交度記法互換性のため導入する可能性がある。これらの記法混ぜ書いた場合,視覚的な整合性が取れない。

そこで,行頭に使う寄せ方指定スペース表組み記法とすることにした。交度記法にも使われる4つの半角スペース右寄せ一致するよりは中央寄せに一致した方が違和感がずっと小さい

行内埋め込み記法

おまけに,行内埋め込み記法についても少し考えた

これまで埋め込み記法部区として扱うことを主に考えてきたが,やはり行内埋め込み必要だろう。まだ草案段階だが,例えば以下のようにして画像回り込む段落が作れると便利だ。

++png++ 左上の画像に回り込む段落。
=}
{目出し輪符}{使えてもいい}{ありそう}{実用的な}{`;}`}{`:}`}{`{;`}{`{:`}{希哲16年1月15日の進捗時限}{希哲16年1月15日の進捗}...=}(49)

{希哲16年1月15日14歩 K#F85E/A-E74C-8E46}

(書きかけ)

進捗時限記録中略

類型化正規表現 rgx_IKON_T整理しつつ,目出し輪符実装出振るい手定め済み目出し輪符手定めの様子

5日5歩検討下敷きにしたが,これも実際使ってみる想像以上収穫だった。

使ってみるまで,前後両方表示するのは遊びくらいかと思っていたが,文中使う時の目印など実用的な使い道意外にありそうだ。

面白い閃きもあった。顔文字して {::}使うなら,ウインク型の {;;}使えてもいいとは思っていたが,これが出放りアイコン使えることに気付いたアイコン表示したいが利用者固有のものである必要はない,あるいは少し不都合がある場合に使える顔文字にもぴったりだ。


この手応えで類型化正規表現は漸次的に行っていくことにした。

{否定正規表現}{キーボード記法}{パンくず記法}{希哲16年1月11日の日記}{希哲16年1月12日}{検索上}{置換処理}{疑似実体参照}{体系的に}{湧かず}...=}(84)

{希哲16年1月11日の開発 K#F85E/A-E74C-4D6E}

今回適当に調整するだけで済ませよう思っていた行内交度における越化だが,内容をいったん代置子置き換え最後に戻すという「代置子方式」を思い付き一気に書き直した。これで越化処理見通し良くまとまり,一つ課題片付いた出振るい明日持ち越し

単純な手法なのでデラング整備最初の方思い付いてはいたのだが,まだ Dex 実装が出来て間もない時期役割分担未整理な所が多かったため,すっきり実装出来るイメージ湧かず否定正規表現利用するという方針にしていた希哲15年7月9日1歩。ただ,これも再考するとなかなか回りくどいDex 実装も十分に整理され,取り扱いにも慣れた所で,一番単純な手法回帰することになった。

退避させる文字列配列部区個体に持たせる形で,体系的に Dex組み込めた行内交度だけでなく,範囲越化必要場面一般応用出来る。


Dex では,置換処理過程適当な目印必要場合&&foo; のような疑似実体参照とでもいうべきものを使っていたが,検索上紛らわしいことがあり通常実体参照部分一致するなど)論理演算子とも被るため,&_foo;統一していくことにした。順次置換する。


ほか,パンくず記法10歩キーボード記法14歩についての再検討でも進展

{脚注記法}{デラング記法}{パンくず記法}{希哲16年1月11日の開発}{1階層}{紛らわしくなる}{決めかけていた}{階層関係}{輪郭間}{shot.20220111_205405.png}...=}(37)

{希哲16年1月11日10歩 K#F85E/A-E74C-0F92}

パンくず記法についての検討終了

もともと輪郭間階層関係明示するために考え始めたパンくず記法だったが,用者の描出から,必ずしも輪符こだわる必要はないことに気付いた汎用的に使えた方がわざわざデラング記法として導入する意義増す

また,^ a > b > c形式決めかけていたものの,^ a のように1階層しかない場合検討中脚注記法などと紛らわしくなる可能性があることに気付いた実験段階では ^^ a > b > c のようにしておくべきか。もう少し他の記法との調整必要になりそうだ。

{希哲15年12月30日の開発}{座標選択}{親シェル}{利用する}{状態の保存}{rect.w}{rect}{`--fxd`}{希哲15年12月30日の進捗時限}{希哲15年12月30日の進捗}...=}(53)

{希哲15年12月30日6歩 K#F85E/A-E74C-9A97}

kn shotkn capt矩形選択改良するため,Synx 駒手として rect追加することにした。kn shotkn capt には –fxd追加し,前回選択範囲再利用出来るようにする。

rect はまず xrectsel絡包として実装し,同じ大きさ座標のみ変更する機能などを加える状態の保存には環境変数利用する親シェルでは sourcealias利用xrectselドラッグせずにクリックすると高さ0設定するため座標選択にも一応使えるが,選択範囲表示などのためにもそのうちバイナリ実装rect.wにする必要がありそうだ。

Xlib直接いてもそれほど複雑にはならないだろう。ntf.w流用出来るか。

=}
{必要}
{}