DSM Kerningについて

今日はダイレクトスマイルのSetのデザインについてご紹介します。
DirectSmileはパーソナライズイメージの作成に、3つの異なるテキスト描写方法を提供しています。

  • システムフォント
  • クリップフォント
  • ピクチャーフォント

フォントを使う場合には、どのソフトでもそうですが、DTPにおいてカーニングが非常に重要なポイントになります。
これはパーソナライズイメージにおいても同じです。特にパーソナライズイメージを作成する場合には、データベースと連動させて画像の自動作成を行うので、それこそ1文字からn文字までに対応する必要があります。

基本的にはダイレクトスマイルではフォント自体の持つカーニング設定を継承して使用します。多くの場合はこれが最適な表示結果をもたらすからです。ただし、フォント自体のカーニングは、文字を回転させたり、垂直の表示位置をランダムに変更させるなど、パーソナライズイメージ独自の背景画像にテキストを馴染ませる為の特別な効果を適用することには対応していません。この様なケースに対してはダイレクトスマイルがカーニングを作成することで実現させています。これがDSMカーニングです。

今回はこのDSMカーニング(Kerning)について詳しく紹介します。

まず初めにフォントそのもののカーニングを適用した場合は以下の様に表示されます。

フォント自体のカーニングを適用した場合

赤線部分が文字と隣り合う文字がどこから配置されるのかを明示しています。

次にDSMカーニングを適用した場合です。

DSM_Kerning

ご覧のとおり、文字間隔が最小限に抑えられているのが分かります。
これは文字と文字が重なり合わない最小限の間隔を適用しているからです。

一見最適な様に見えますが、これは文字の組み合わせによっては思わぬ結果を招くことになります。特にこの現象が起きるのはクリップフォントを使用している場合です。
例えば”_”(アンダースコア)を使っていると、文字の表示は以下の様になります。

この場合、アンダースコアはeともaとも重なり合わないので、文字の真下に表示されることになります。
これをクリップフォントで表示すると、以下のようになります。

これは決して望ましいプレビューではありませんね。
この様な場合は、「文字間の自動調整」オプションを有効にする事でより良い表示結果を得ることが可能になります。

特にこのケースではDSMカーニングを適用しているので、文字間隔の調整のしきい値を変更することでさらに良いプレビューが得られるようになります。

もちろん、単にDSMカーニングをオフにして、フォント自体のカーニングを使用することでも同様の結果を得ることは可能ですが、前述のとおり、文字幅の自動調整や文字の回転などといった機能には対応していないので、そのような効果(エフェクト)を使用している場合には文字間の自動調整オプションを使って対応することをお勧めします。

最後にDSMカーニングを使用する場合の利点を付け加えます。それは、レンダリングスピードです。

これは実際に試していただくのが一番だと思いますが、DSMカーニングを使用しない場合は、より画像処理に時間が必要となります。その理由は、フォント自体のカーニングデータを元にして、そのデータをパーソナライズイメージ様に変換するというバックエンドの処理が必要となるからです。

ちょっと駆け足でしたが、これが以上がDSMカーニングの紹介でした。

ダイレクトスマイルに携わるデザイナーの皆さんのお役に立てば幸いです。

NOG

広告

Internal Error 2203

さっぱりわからん!

[JP]

今日は突然起きた内部エラー2203に対する対処法を書き留めます。

事の発端はDirectSmile Generatorを起動するとRun Timre Errorが発生するという事でした。
一体何が原因でこのエラーが発生したのかは不明でしたが、Generatorの問題と考え、再インストールを試みました。

ところが、アンインストールのプロセス中にInternal Error 2203が発生。これが厄介で、一体どこに原因が有るのかが不明なまま。ひとつひとつ確認していくと、DirectSmileのアンインストール中にはMicrosoft  Visual C++2005と2008のアンインストールも含まれるのですが、どうやらこのプロセス中にエラーが発生している様子。

各Tempフォルダに対するアクセス権限を確認しても一向に問題が見つからない。

最終的に試したのはTempフォルダの中身を全て削除するという方法。これがHitしました。

ちなみにとても役立つコマンドなので、これを記述しておきます。

del %temp% /f /s /q

直ってよかったです:-D

 

[EN]

This topic is one of the most visited “nogtips”, so I would like to add this tips in English as well.

 

It suddenly happened that it cause Run Time Error. Just stat after the DirectSmile Generator.
I was no idea what cause it, but I thought it could be Generator, and tried it again.

But, it cause “Interal Error 2203”, And it was really tricky, that I couldn’t find nowhere that cause a problem.
In a while I’m checking all steps one by one, I saw an error process while uninstalling Microsoft Visual C++2005 and 20008, that come with DirectSmile.

But the problem is that I couldn’t find any problem while I was testing the permission right of each Temp folder.

Finally, I tried to Delete the contents inside of “Temp” folder. And it was the “Hit!!”

 

I thought it was so useful command, let me write it in here,

 

del %temp% /f /s /q

Great that it’s Fixed;-)

Microsoft SQL Serverが動かない・・・

今日は朝から悩んだSQL Serverのエラーについて備忘録として投稿します。

エラーは以下の通り。(ちょっとだけ改変してます)

The log scan number passed to log scan in database ‘master’ is not valid. This error may indicate data corruption or that the log file (.ldf) does not match the data file (.mdf). If this error occurred during replication, re-create the publication. Otherwise, restore from backup if the problem results in a failure during startup.

ごく簡単に言うと、SQL ServerがWindows Serviceで起動しない。

色々ググってみましたが今ひとつ正解に当たらない・・・
もうSQL Server毎再インストールしちゃおうかなぁなんて思ってたのですが、そこはまぁやっぱり・・・と言うことでまたGoogle先生に再度聞き直し(笑)

最終的にはこの記事に助けられました。先人の知恵は偉大です。ありがとーございます。
http://mywindowsblog.com/?p=638

SQL Serverのインストールディレクトリを圧縮したりすると発生するエラーとの事ですが、いまいち原因は分からず。
そして、ここからがかなり厄介だったのですが、やっとSQL Serverが動いたと思ったらSQL Management Studioからローカルのデータベースにログイン出来ない・・・・(汗)どうやらAdministratorでログインしているのに何故がこのアカウントがロックアウトされている様子。

ここで思い出したのがSupportチームのボス・Oliverさんが教えてくれたロックアウトされた場合のTips。
Single User Modeでアクセスしてなんとかログイン設定を修正。やっとログイン出来たと思ったら、今度はデータベースが全滅・・・仕方ないので.mdfからアタッチして復元。そしたら今度はアタッチ出来ないデータベースが出現。こればかりはどうしようもないなぁと思いつつ悪戦苦闘。結局Dataフォルダから該当する.mdfと.ldfを一旦移動させて、手動で同名のデータベースを作成しました。あとはボスの作ったツールでデータベースをアップデートさせて万事完了!これが出来るデータベースで良かったです。

最後にDSMIを最新版にアップデートしてFinalcheckをして元通り。
あぁ、やっぱりこれはMSのサポートに頼む話であってDSMのサポート案件では無いような気もするんですが。

結論:データベースを使うアプリケーションは必ずバックアップの設定をして、定期的にフルバックアップを取りましょう。ついつい忘れがちですが、これが一番重要ですね。