「
利用者:Sukemaru
」を編集中 (節単位)
ナビゲーションに移動
検索に移動
警告:
ログインしていません。編集を行うと、あなたの IP アドレスが公開されます。
ログイン
または
アカウントを作成
すれば、あなたの編集はその利用者名とともに表示されるほか、さまざまなメリットもあります。
スパム攻撃防止用のチェックです。 決して、ここには、値の入力は
しない
でください!
==== ラベルの整形 ==== * 基本的にポップアップメニュー(警告・確認ダイアログなどもだが)は UI フォントで表示されるので、文字列が英数字の羅列の場合には読みづらい ( …と個人的に感じている @WinXP)。 : 文書内の文字列など不特定の文字列をラベル化する「[[ポップアップメニューで検索先にジャンプ#sukemaru 版|検索ジャンプ]]」や「[[ブックマーク一覧ジャンプ#sukemaru 版|ブックマークジャンプ]]」、「[[「クリップボード履歴」メニューのマクロ化]]」マクロでは、読みづらい半角アルファベットや記号を全角化させるなどしている。 <syntaxhighlight lang="javascript"> /** * ポップアップメニューに表示するラベルを整形する * * ※ 不要な置換については .replace( ... ) の行を 削除/コメントアウト してよい * * ・行頭空白を除去 * ・空白文字を圧縮: →「›」(U+203A) に置換 * ・文字数を切り詰め( String.slice メソッド ) * ・改行記号を可視化: →「↲」(U+21B2) または「⏎」(U+23CE) に置換 * ・削られてしまう「&」を補完 * ・「¥」(U+005C) を「∖」(U+2216) に置換 * ・特殊な空白文字を豆腐に置換: →「⊠」(U+22A0) または「▯」(U+25AF) * ・判読しづらい ascii 記号 !"%'(),.:;@[]`{|} を全角に置換 * ・「a-z」を全角に置換 */ var y = document.selection.GetActivePointY( mePosLogical ) // 行番号 var str = document.GetLine( y, 0 ); // 行の文字列 var menuWidth = 55; // 切り捨ての閾値 var reg = /[\u00A0\u1680\u180e\u2000-\u200A\u2028\u2029\u202F\u205F\uFEFF]/g; var menuKey = str.replace( /^[\t ]+/, "" ) .replace( /(?:\t|[ ]{3,}|[ ]{2,})+/g, " › " ) .slice( 0, menuWidth + 1 ) .replace( /\r?\n/g, " ↲ " ) .replace( /[&]/g, "&&" ) .replace( /[\\]/g, "∖" ) .replace( reg, "▯" ) .replace( /[!"%'(),.:;@\[\]`a-z{|}]/g, function( tmp ) { return String.fromCharCode( tmp.charCodeAt( 0 ) + 0xFEE0 ) } ); // 文字数を切り詰めた場合は「 ...」を付加 menuKey += ( str.length > menuWidth ) ? " ..." : ""; // 文字列の先頭に行番号(連番)を付加する // パターン➀: アクセラレータつきの番号(左端揃え)を付加 var num = "&" + y; menuKey = num + ": " + menuKey; // パターン➁: 番号(左端揃え)の 末尾1桁 をアクセラレータにするなら var num = String( y ).replace( /\d$/, "&$&" ); menuKey = num + ": " + menuKey; // パターン➂: 連番が多いときは「空白文字でケタ埋め (右端揃え)」するとよい // 例: EN SPACE「 」(U+2002) でケタ埋めして、末尾1桁 をアクセラレータにする var numWidth = String( d.GetLines( 0 ) ).length; var num = ( " " + y ).slice( - numWidth ).replace( /\d$/, "&$&" ); menuKey = num + ": " + menuKey; </syntaxhighlight> : ※ このコードでは色々と unicode 文字を使用しているので、マクロの JS ファイルは UTF-8 などの形式で保存しなければならない。 * また、「[[#マクロライブラリに投稿したマクロ|マクロライブラリに投稿したマクロ]]」の節の画像リンク(サムネイル)のように、タブインデントや連番のケタ埋め、サブメニューの活用などの工夫で、ポップアップメニューの体裁はある程度自分好みにカスタマイズできる。
編集内容の要約:
MeryWikiへの投稿はすべて、他の投稿者によって編集、変更、除去される場合があります。 自分が書いたものが他の人に容赦なく編集されるのを望まない場合は、ここに投稿しないでください。
また、投稿するのは、自分で書いたものか、パブリック ドメインまたはそれに類するフリーな資料からの複製であることを約束してください(詳細は
MeryWiki:著作権
を参照)。
著作権保護されている作品は、許諾なしに投稿しないでください!
このページを編集するには、下記の数式を計算してその答えを欄に入力してください (
ヘルプ
):
いちたすには =
キャンセル
編集ヘルプ
(新しいウィンドウで開きます)
スポンサーリンク
ナビゲーション メニュー
個人用ツール
ログインしていません
トーク
投稿記録
アカウント作成
ログイン
名前空間
利用者ページ
議論
日本語
表示
閲覧
編集
履歴表示
その他
検索
スポンサーリンク
スポンサーリンク
案内
メインページ
ヘルプ
よくある質問
マクロリファレンス
マクロライブラリ
プラグインライブラリ
構文ファイル
テーマ
寄付・開発支援
練習用ページ
開発室
開発者のブログ
ツール
スポンサーリンク