Posts from the ‘Tcl’ Category

2010/03/01

Pinconv 4.02

by ctrans

Pinconvのマイナーバージョンアップを行いました。ステータスバーをダブルクリックまたは右クリックして変換データファイルの切り替えが出来るようになったほか、いくつか不具合を修正しています。

Pinconvの紹介はこちらのエントリ、詳しい使い方についてはPinconvの使い方を参照下さい。窓の杜による紹介記事はこちらです。

修正点

ステータスバー

  • 変換データの切り替えをステータスバーから行えるように変更
  • 変換データの新規作成が正常に実行できない不具合の修正
  • 変換データのインポートが正常に実行できない不具合の修正
  • 置換後のハイライトが正常に動作しない不具合を修正
2010/01/29

Pinconv 4.01 – ルビ振りプラグイン

by ctrans

文字列にルビを振るためのプラグインを新たに追加したPinconv 4.01を公開します。

ダウンロードとPinconvの詳しい説明は、こちらのエントリを参照下さい。

Ruby プラグイン

example
Rubyプラグインは、上の画像のように文字列にルビを振るためのプラグインです。たとえばカラオケ用のアンチョコを作ったり、音読練習用のプリントを作ったりする場合に利用すると便利だと思います。出力形式にHTMLを採用していますので、ブログなどに張り付けることもできます。

利用例: 簡体字中国語にピンインのルビを振る

以下、Rubyプラグインの利用例として往年の名曲にピンインのルビを振ってみます。いくつかステップを踏む必要がありますが、それほど手間がかかるわけではありませんのでお付き合いください。
read more…

2009/11/10

Pinconv 4.00β

by ctrans

中国語の各種変換機能を備えたPinconv 4.00のβ版を公開します。

ダウンロード

iconpinconv.zip

Screenshot

pinconv

Pinconvの主な機能についてはこちらを参照下さい。

β版の新機能

新たにプラグインの仕組みが導入されました。インストール時には次の5つのプラグインが同梱されています。

  • 文字カウント
    • コメント行とそれ以外の行を分けて文字数をカウントしたり、カーソル行までの文字数、カーソル行以降の文字数などをカウントすることができます。
  • grep
    • フォルダ内の全ファイルを対象に検索を行います。サブフォルダの検索や正規表現を利用した検索が可能です。
  • あいまい検索
    • 編集中のファイルや対訳データベースを対象にあいまい検索を行うことができます。Pinconvに翻訳メモリ的な機能を追加するものです。
  • 日本語校閲
  • 見出し表示
    • 指定した文字列から始まる行を一覧表示することができます。正規表現が利用できるほか、ブックマークした行だけを一覧表示することもできます。

注意事項

現在、Pinconv 4.00はβ版です。不具合が残っている可能性があるほか、作者の思いつきで仕様が変わることがありますのでご注意下さい。なお、現在のところPinconvは機能制限なく利用することができますが、将来的には一部機能をシェアウェア化する予定です。あらかじめご了承下さい。

ヘルプ

作りかけですがこちらに使い方の簡単な説明があります。

Pinconvの使い方

by ctrans
  • 全画面表示
  • 色の設定
  • 設定
  • その他の機能
  • ユーザ登録と特典機能
  • 既知の不具合
  • 著作権と免責事項
  • read more…

    2009/10/04

    フォルダ内を再帰的に検索

    by ctrans

    再帰的にフォルダ内を検索して条件に合うファイルを取得するための関数。
    引数のdirには検索対象のフォルダのパス、masksには「*.txt *.exe」のように取得したいファイルの種類をリストで渡します。
    返り値はファイル名のリストです。

    proc globRecursive {dir masks} {
      set result [list]
      foreach cur [lsort [glob -nocomplain -dir $dir *]] {
        if {[file type $cur] == "directory"} {
          eval lappend result [globRecursive $cur $masks]
        } else {
          foreach mask $masks {
            if {[string match $mask $cur]} {
              lappend result $cur
              break
            }
          }
        }
      }
      return $result
    }
    2009/10/01

    次のウィジェットにフォーカス

    by ctrans

    いつもやり方を忘れるTkのフォーカスまわり。
    エンターキーを押下した際、次のウィジェットにフォーカスを移動させたい場合は、tk_focusNextを使います。

    bind $w <Return> {
    	focus [tk_focusNext [focus]]
    	break
    }

    自分のためにメモφ(。_。)メモ

    2009/09/01

    Pinconv 4.00α

    by ctrans

    中国語にかかわる各種変換機能とオンライン辞書の編集検索機能を備えたPinconv 4.00(アルファ版)を公開します。

    ダウンロード

    iconpinconv.zip

    Screenshot

    ピンイン変換 北辞郎の検索

    Pinconvの主な機能

    • 漢字の変換
      • 簡体字中国語と日本語の漢字の相互変換
      • 簡体字中国語と繁体字中国語の相互変換
      • 簡体字中国語から発音記号(簡易ピンイン)への変換
      • 簡易ピンインから声調記号付きのピンインへの変換
      • 上記変換は対訳形式で出力することができ、処理結果をHTMLなどに変換することも可能です。
    • オンライン辞書「北辞郎」の検索と編集
      • 北辞郎APIを利用し、検索と編集を行うことができます。
    • Unicode対応のエディタ
      • エディタ部分は複数の文字コードに対応しています。
    • WEB検索
      • 選択した文字列をGoogleやwikipediaなどで手軽に検索することができます。
    • 全画面表示
      • 雑音をシャットアウトして物書きに集中したい時に便利な全画面表示機能を備えています。
    • 正規表現に対応した検索と置換機能
    • などなど

    read more…

    2009/05/08

    Tcl拡張 – edit 1.00

    by ctrans
    edit
    a text widget with highlighting support for Tcl/Tk

    NAME

    edit (version 1.02 – 2010-01-21)
    download: edit.zip
    screenshot: demo1, demo2

    REQUIREMENT

    hashtrie 1.0
    unicodeblock 1.1

    SYNOPSIS

    package require Tk
    package require hashtrie 1.0
    package require  unicodeblock 1.1
    package require edit  ? 1.0 ? 
    edit pathName  ? options ? 
    edit::addHighlightWord pathName word class
    edit::deleteHighlightWord pathName word
    edit::generateHighlightRule sourcefile rulefile
    edit::addHighlightRgx pathName pattern tagname
    edit::deleteHighlightRgx pathName pattern
    edit::defineBrackets pathName brackets
    edit::defineTextTag filename
    edit::applyTextTags pathName tags
    edit::linemapPopup X Y menu
    edit::getAllMarkedIndex pathName startIndex endIndex
    edit::getMarkedLine pathName index direction
    pathName highlight startIndex endIndex
    pathName copy
    pathName cut
    pathName paste
    pathName append
    pathName configure option value  ? ... ?
    pathName refresh

    read more…

    2009/05/07

    Tcl拡張 – hashtrie

    by ctrans

    一括置換やLongest Common Prefix Searchなどを行うためのtrie風データ構造です。
    今のところ、渡されるtrieの中身などはチェックしていません。そのうち直します。
    拡張名:hashtrie
    ダウンロード:hashtrie.zip
    使い方は下記参照:

    % package require hashtrie
    1.0
    % set trie [hashtrie::new]
    {} {} 0 {}
    % set trie [hashtrie::add $trie test テスト]
    {t-0 1 e-1 2 s-2 3 t-3 4} {4 テスト} 4 {4 test}
    % set trie [hashtrie::add $trie check チェック]
    {t-0 1 e-1 2 s-2 3 t-3 4 c-0 5 h-5 6 e-6 7 c-7 8 k-8 9} {4 テスト 9 チェック} 9 {4 test 9 check}
    % set d [dict create 今日 きょう 明日 あした 明後日 あさって]
    今日 きょう 明日 あした 明後日 あさって
    % set trie [hashtrie::import $trie $d]
    {t-0 1 e-1 2 s-2 3 t-3 4 c-0 5 h-5 6 e-6 7 c-7 8 k-8 9 今-0 10 日-10 11 明-0 12 日-12 13 後-12 14 日-14 15} {4 テスト 9 チェック 11 きょう 13 あした 15 あさって} 15 {4 test 9 check 11 今日 13 明日 15 明後日}
    % hashtrie::exists $trie 今日
    1
    % hashtrie::replace $trie "今日と明日はtestで忙しい。"
    きょうとあしたはテストで忙しい。
    % hashtrie::remove trie check
    1
    % puts $trie
    {t-0 1 e-1 2 s-2 3 t-3 4 c-0 5 h-5 6 e-6 7 c-7 8 k-8 9 今-0 10 日-10 11 明-0 12 日-12 13 後-12 14 日-14 15} {4 テスト 11 きょう 13 あした 15 あさって} 15 {4 test 11 今日 13 明日 15 明後日}

    read more…

    2009/03/11

    Tcl拡張 – unicodeblock

    by ctrans

    与えられた文字のUnicode Block名を返すTcl用の拡張です。

    拡張名:unicodeblock
    ダウンロード:unicodeblock.zip
    使い方:

    set blockname [unicodeblock::getblock "字"]