Tclのトークン分割機能をC/C++から直接呼び出してみるテスト

Tcl を C/C++ で活用する・・・というと、Tcl_Eval で Tcl の各種コマンドを呼び出す方法をまず思いつきますが、 Tcl_Eval を使う以外にも、文字列処理や、ファイル処理、参照カウンタ式のオブジェクト管理等、 色々便利そうな API が結構揃っていて、純粋に…

Ghostscriptを使ってPDFにしおりをつける

フリーソフトでPDFにしおりを付加する機能のあるものがなかなか見つからなかった のですが、実はGhostscriptを使えば結構簡単にできるということがわかりました。 しおりの文字列を日本語にしたい場合は、BOM付きのUTF16(BigEndian)を8進数表記にすれば よい…

VS2008でTclVFSをtcl.8.5.15に対応させる方法 (VS2012、tcl 8.6.8 追記)

不具合現象 Tcl 8.5 系の現在の最新版である Tcl 8.5.15 と TclVFS 20080503 を VS2008 Express Edition 32bitモードでビルドしようとしたところ、下記エラーが出てしまいました。 <Tcl 8.5.15 + TclVFS 20080503 32bit モードでのビルドエラー内容> =====…

std::lower_bound、std::upper_boundの関係をイラスト化してみた

ソート済配列に対して2分探索をしたり、昇順(または降順)の状態を維持したまま配列に要素を挿入したいといった場合、C++ではstd::lower_bound や std::upper_boundを活用すると便利ですが、それぞれが返すイテレータがどこを指すのか理解が曖昧だったので、…

Base16kエンコーダ/デコーダ

文字列にバイナリを埋め込む方法としてbase64が良く使われていますが、 バイナリを埋め込んだ文字列の 転送/格納にUTF16を使用する場合、 base64文字列をUTF16で扱うことになるため、上位8ビットが丸々0になり、 転送/格納効率が非常に悪くなります。 UTF16…

luaで、luaの関数を呼ぶC++の関数をluaから呼んでみた

引数2個、戻り値1個のlua関数を引数にとり、 実行されると与えられた引数の関数に5,15を入れて呼び出し、 得られた戻り値を2倍したものを返り値とするlua関数をC++で作成しました。 大変ややこしいですが、C++ => LUAの呼び出し、 LUA => C++ の呼び出しを …

BLTのgraphのmarkerでグラフにお絵かき

コピーレフトのないオープンソースで、何か図を書いた後emfファイルに書き出す、 この要件を満たすものを探したところ、以前少し触れたBLTが使えることがわかりましたので、 やり方をメモします。 BLTのgraphを使うと、グラフをtcltkのウィンドウ上に描画で…

ffmpegでDVD-Video用のmpeg2動画を作成する方法

個人的メモです。所用で必要になったので… ffmpeg -i 入力動画or画像 -target ntsc-dvd -vcodec mpeg2video -s 720x480 -r 29.97 -aspect 16:9 出力動画名.mpg ・-aspectは4:3でも可 ・画像ビットレートは9600kを超えないこと。 ・出力ファイルを調整(画質を…

TclTk + [Incr Tcl] + [Incr Tk] + [Incr Widgets] + TclVfs + Metakit をVisualC++を使ってソースから導入するメモ 続き

前のエントリの書ききれなかった続き * 7. Incr Widgetsのインストール -7.1. VisualStudio2008コマンドプロンプトでwork/iwidgets4.0.1/winにcdで移動 -7.2. nmake -f makefile.vc install INSTALLDIR=..\..\inst * 8. TclVfsのコンパイルとインストール -8…

TclTk + [Incr Tcl] + [Incr Tk] + [Incr Widgets] + TclVfs + Metakit をVisualC++を使ってソースから導入するメモ

* 1. ソースのダウンロード -1.1. TclとTkのソースをダウンロード URL: http://www.tcl.tk/software/tcltk/download.html -1.2. IncrTclのソースをダウンロード (3.4.1と3.2.1をダウンロード) URL: http://incrtcl.sourceforge.net/ -1.3. IncrWidgetsのソー…

WMFやEMFを上下2分割して2ページに印刷するサンプルプログラム

プレゼン資料を上下2分割して2ページに印刷したい用事があったので、やり方を色々探したんですが、なかなか見つからなかったので、自前でプログラムを作ってみました(1)。このプログラムはWMFやEMFを上下2分割して2ページに印刷することができますので、プレ…

xmlファイルの一部だけを編集できるhtaアプリ

xmlで書かれた設定ファイルの特定のattributeやinnerTextだけを変えたいとき、 その変えたい部分だけを表示・編集できるツールをhtaで作成してみました。 xmlNodeEditor.hta内のxpathesは、xmlファイルの編集対象箇所を表しています。 各行の1つめは編集対象…

dlib C++ ライブラリ バージョンアップ (ver 17.6)

Davis E. King氏が作成・配布している、dlib C++ ライブラリのバージョンが17.6になりました。 今回のバージョンアップで、下記機能が本家ライブラリに組み込まれました。 ・GUIウィジェットのUnicode化 ・text_fieldウィジェットで、IME/XIMによる日本語入…

dlib C++ ライブラリ 本家アップデート(Ver.17.1)

dlib C++ ライブラリの追跡の書き込みがここのところご無沙汰になってました。 Davis E. King氏が作成・配布している、dlib C++ ライブラリのバージョンが17.1になりました。 最近の更新はGUIに関するものが多いようです。 そのGUI機能で追加されたうち、気…

dlib C++ ライブラリでAntTweakBarを使う

OpenGL機能を追加したdlib C++ライブラリでAntTweakBarを使うことができました。 サンプルのソースと実行ファイルは↓にあります。 http://www.tok2.com/home/mocchi2008/samples/dlib_anttweakbar/dlib_anttweakbar.htm 関連 - dlib C++ Library 目次 - dlib…

窓助タッチバージョンアップ ver 1.13

自作ソフト 窓助タッチ をバージョンアップしました。 http://www.geocities.jp/mocchi_2003/soft.html 最新バージョンは 1.13です。 前回のバージョンアップで、キー操作による透明度調整を可能にしましたが、 テキストエディタでコピー&ペースト等を繰り…

dlib C++ ライブラリ 本家アップデート(Ver.16.1)

Davis E. King氏が作成・配布している、dlib C++ ライブラリのバージョンが16.1になりました。 今回のバージョンアップにより、フォントの切り替えができるようになりました。 これまで配布してきた日本語化パッチでは、日本語に対応しているフォントクラス…

dlib C++ ライブラリ メジャーバージョンアップ

dlib C++ ライブラリのバージョンが16.0になりました。 メジャーバージョンの変更(15=>16)ということで、色々追加修正が施されている模様です。 GUI周りで気になる追加修正点が数点あります。 ・winmain関数の廃止 バージョン15台では、winmain関数がエント…

dlib C++ 本家ライブラリ アップデート + initialize_opengl関数バグ修正

dlib C++ ライブラリの本家のバージョンが15.11になったようです。 以下のような追加修正がそれぞれのバージョンアップで行われているようです。 15.9 => 15.10 : 描画処理にアルファブレンドを追加 15.10 => 15.11 : バグ修正 それと、自分がパッチとして追…

dlib C++ ライブラリにglutの幾何系関数をそのまま組み込んでみた

dlib C++ライブラリにfreeglutのソースを使ってOpenGL機能を組み込んだので、 ついでにfreeglutの幾何系関数やティーポット関数もそのまま組み込んでみました。 以下の関数をdlib名前空間に入れてあります。 void glutWireCube( GLdouble size ); void glutS…

dlib C++ Library 目次

自分が書いたdlib C++ ライブラリ に関するブログエントリが多くなってきたので目次を作ってみました。 - dlib C++ ライブラリ バージョンアップ (ver 17.6) - dlib C++ ライブラリ 本家アップデート(Ver.17.1) - dlib C++ ライブラリでAntTweakBarを使う - …

dlib C++ ライブラリ OpenGLサンプル

前回、dlib C++ ライブラリでOpenGLを使えるようにしたことを紹介しました。 前回から仕様を修正したので、使い方が少し変わりました。 OpenGL機能の実装のために、freeglutのソースを 拝借していますので、freeglut用のCOPYINGファイルもパッチの中に入れて…

dlib C++ライブラリでOpenGLを使えるようにした

dlib C++ライブラリでOpenGLを使えるようにしてみました。 本家が ver.15.8にバージョンアップしていましたので、ついでにバージョンも揃えました。 ↓差分パッチ バージョン15.8 base_windowに3つの関数を追加してあります。 ・initialize_opengl ・swap_bu…

dlib C++ ライブラリ winmain関数について

dlib C++ ライブラリには、console版とgui版があります。 通常、C 及び C++ はmain関数から始まりますが、dlib C++ライブラリの gui版を使うときは、main関数の代わりにwinmain関数を使います。 winmain関数の引数と戻り値の型は、↓のようになってます。 voi…

dlib C++ライブラリ GUI部品のマルチバイト化

dlib C++ライブラリのGUI部品をマルチバイト化して日本語の表示をできるように してみました。 スクリーンショットはオリジナルのアーカイブに含まれているサンプル gui_api_ex.cppを一部修正したものです(gui_api_ex_ja.cpp) X11環境でこのサンプルをコンパ…

オープンソースでGPLでもLGPLでもなくてマルチプラットフォームなC/C++用GUIライブラリ

探してもなかなかいい感じのGUIライブラリがありません(T-T) タイトルに書いた条件を全部満たしてるライブラリで最近新たに発見したものをひとつ紹介します。 - dlib C++ライブラリ boostライセンスです。 GUIの他にも色々機能を持っているようです。 少し触…

font_rendererバージョンアップ

font_rendererをバージョンアップしました。 バージョン 1.10 => 1.20 更新内容 ・同じ条件で何回もレンダリングする際のパフォーマンスの向上(createメソッド) ・ascender,descenderも取得できるようにした ・バグ修正 createメソッドは,前回のレンダリン…

窓助タッチの使い道

自作ソフト 窓助タッチの使い方の例 その1 ウィンドウを移動せずにデスクトップのアイコンを操作する デスクトップのアイコンをダブルクリックしたい。だけど、 そのアイコンは今操作しているウィンドウの下側にある! こんなとき、窓助タッチを使えば、ウ…

窓助タッチバージョンアップ

自作ソフト 窓助タッチ をバージョンアップしました。 http://www.geocities.jp/mocchi_2003/soft.html 最新バージョンは 1.12です。 このソフトを使うと、前面にあるウィンドウの透明度を調節したり、そのウィンドウの一枚下のウィンドウを、前面にあるウィ…

はてなダイアリーではいろいろなことが表現できます

はてなダイアリーは普通のブログサービスと異なり、1日分の記事は全てまとめて編集することができます。1日に複数の記事を書きたいときは、記事の先頭に「*」+記事のタイトルを書き込んでください。このサンプルでも利用しているので、「編集」リンクを押し…