2007年9月30日日曜日

イラレのカラマネ

http://dtp-s2.seesaa.net/article/57323223.htmlより
Illustrator CS3に同じように、「グレー40%」濃度の画像やPDFを貼り込んで、プリンタから出力してみました。

 IllustratorとInDesignは、CSのバージョンが同じです。Adobe Color Engineのバージョンも同じです。ということは、同じようにカラー変換されるということでしようか。実際にプリントして試してみましょう。

 Illustrator CS3からカラーマネージメント出力するには、プリントウィンドウにある[カラーマネージメント]を設定してプリントアウトします。[カラーマネージメント]の[カラーの処理]で「Illustratorのカラー設定」を割り当てます。[プロファイル]にはプリンタプロファイルを適用します。

 Illustratorのカラー設定は「プリプレス - 日本2」を割り当てていますので、カラーは「Japan Color 2001 Coated」からプリンタプロファイルに変換されます。IllustratorではCMYKからCMYKにカラー変換するためには、

CMYKカラー値を保持

のチェックボックスをオフにします。ここをオンにしてプリントすると、「グレー40%」はそのままグレースケールの40%のまま出力されます。

[プリンタ]で「PostScriptファイル」を選択し、[PPD]で「その他(AdobePDF 8.0J)」を選択しています。カラー処理をIllustratorで行い、プリンタのプロファイルを割り当てています。Illustratorでは[CMYKカラー値を保持]をチェックすると、CMYK to CMYK変換できません。

以下略

とどのつまり、「CMYKカラー値を保持」のチェックボックスをオンにして使っていれば問題ない。
で、C+K,C+M,M+Kで作成された2色データをプロファイルを使用して刷り色に近いプリント時にどんな問題が起こるかが重要なのだが、関係あるようなないような。

AI9以降はAcrobatで開く

AI9以降はPDFファイルを内包しているためAcrobatで開けます。

・使用フォントチェックの時、TrueTypeかPostscriptかは使用フォント一覧で確認できる。
・使用している特色チェック、オーバープリのチェックができる。

しかし、まぁ今頃書くようなことじゃないよな。勉強不足、応用力不足を痛感!

2007年9月26日水曜日

破線の角

http://www.dtp-transit.jp/adobe/illustrator/post_386.htmlより
CS以降、この機能がなくなっていたのか。。。知らなんだ。。。orz
便利な機能で重宝していたのだが(^^;A
みんなどうやって角をフィットさせているのか?
10でアウトラインをとってからCSに持っていっているのか?

オーバープリントの破棄

http://forums.adobe.co.jp/cgi-bin/WebX/.3b6d9575/2より
satoski- 2007年1月31日 07:04 (#3 of 8)

Illustrator CS2のEPSから完全にオーバープリントを除くことはできます。

EPS Options > Transparency > OverprintsポップアップリストでDiscardを選ぶと、EPSファイルのPostScript部分のOPを完全に取り除きます。その際、Illustrator編集データ部分のOPは保持されます。

つまり、このEPSをIllustrator CS2でオープンするとOPは残っていますが、他のドキュメントに配置して印刷するとOPは除かれています。

satoski- 2007年1月31日 13:34 (#5 of 8)


『透明』の設定をしていないオブジェクトに対しても有効なのでしょうか?


有効です。「透明」のところにありますが、実はEPSのOPは「透明」とは関係がありません。他のダイアログ等で「透明」と一緒に扱われることが多いので、そこにあるだけだと思います。


他のドキュメントとは…Illustratorの別のドキュメントのことでしょうか?それとも、Illustrator以外のアプリケーションと言うことでしょうか?


両方です。

Version 9以降のIllustrator EPSは二重構造になっていて、PostScript部分とIllustrator編集データ部分を含みます。EPS Optionsで設定するのはPostScript部分の構成です。OPの破棄を指定した場合、PostScript部分のOPが破棄されますが、Illustrator部分には影響しません。

Illustrator編集データはIllustratorでのみ利用可能です。Illustratorでファイルを開くと、PostScript部分を読み飛ばし、Illustrator編集データのみが読み込まれます。したがって、EPS OptionsでOPの破棄を指定していても、そのIllustrator EPSをIllustratorで「開く」とOPは保持されています。

Illustratorの新規書類にIllustrator EPSを配置すると、Illustrator編集データを読み飛ばし、PostScript部分のみが読み込まれます。Illustrator以外のアプリケーションでIllustrator EPSを配置しても同様です。Illustrator EPSのPostScript部分のみが利用されます。したがって、OPの破棄を指定して保存したIllustrator EPSをIllustratorや他のアプリで配置して印刷すると、EPS内のOPは破棄されています。

Illustratorからアートワークを印刷するときにもOPの破棄は指定できますが、そのアートワークが配置されたEPSを含む場合、EPS内部のOPには影響しません(例外はあります。そのEPSが「透明」と関わっている場合など)。

satoski- 2007年1月31日 18:27 (#7 of 8)

どういたしまして。

でも、オーバープリント適用・解除が期待通りに動作しないことのほうが問題ですよね。適用も解除もきっちり指定した%の塗りにしか作用しないようなので、使い勝手が悪いです。このフィルタを使ってK=100%以外の塗りにオーバープリントの適用・解除を繰り返すのは、あまり実用的ではないかと思います。かと言って、CS2だとSelect AllするとAttribute PaletteのOverprint Fillが不能の場合があるし、まずいですね。

以前この記事を読んで、他の人に「オーバープリを破棄」にするように伝えていたのだが、、、
忘れて教えた人に教わる有様。。。年はとりたくない。

2007年9月22日土曜日

突然かな入力に

昨夜のこと、「突然かな入力」になり一瞬パニック(^^;A

http://www.relief.jp/itnote/archives/001290.phpより
残念ながら入力方法が切り替わるまさにその瞬間は目撃したことがないのですが、おそらく意識せずに切り替え操作をキーボードで行ってしまっているのだと思います。

▼操作方法:日本語入力方法を切り替える
[Alt]キー+[カタカナひらがな]キーを押す

入力方法の切り替えはいくつか操作方法がありますが、おそらく上記の操作をしてしまっているのでしょう。日本語入力がOnの状態で、[Alt]+[カタカナひらがな]キーを押すたびにローマ字入力とかな入力とが切り替わります。

ちなみにこの[Alt]キーと[カタカナひらがな]キーを押すタイミングが、デリケートな場合もあるようです。

通常ショートカットキーは一方のキーを押した状態から他のキーを押すという操作をしてらっしゃる方が多いと思いますが、[Alt]キーを押しっぱなしにしておいて[カタカナひらがな]キーを押しても入力方法が切り替わらないときは、[Alt]キーと[カタカナひらがな]キーを同時に押してみてください。

ただし、同時に押せば100%切り替わると断言できないところが歯がゆいところで、同時に押して切り替わらないときは[Alt]キーを押しっぱなしにしておいてから[カタカナひらがな]キーを押してみてください。


もう一つ入力方法が切り替わる可能性はIMEツールバーです。

▼操作方法:日本語入力方法を切り替える
IMEツールバーの[KANA]ボタンをクリック


[KANA]ボタンはIMEツールバーの右の方に小さく表示されているので、[Alt]+[カタカナひらがな]キーより可能性は低いでしょうが、何かの拍子にクリックしてしまったという方もいらっしゃるかもしれません。

IMEツールバーの[KANA]ボタンがOnの状態でかな入力、Offの状態でローマ字入力です。


入力方法を切り替える方法は他にもあります。



▼操作手順:日本語入力方法を切り替える
日本語入力がOnの状態で[Ctrl]キー+[F10]キーを押す
 ↓
ショートカットメニューから[プロパティ]を選択
 ↓
[Microsoft IME スタンダードのプロパティ]ダイアログ-[全般]タブをクリック
 ↓
[入力設定]欄-[ローマ字入力/かな入力]欄から、
「ローマ字入力」「かな入力」いずれかを選択
 ↓
[Microsoft IME スタンダードのプロパティ]ダイアログ-[OK]ボタンをクリック


入力方法が変更されてしまった場合は上記いずれかの方法で直してください。

2007年9月21日金曜日

カラマネの基礎知識

http://blog.livedoor.jp/andyman1764/archives/51059705.htmlより

今まで製版現場サイドの小難しい解説だったのですが、デザイン素人にも分かりやすく解説してくれてグッド!

ベジエ曲線の仕組み

http://d.hatena.ne.jp/nitoyon/20070919/bezier_2より

ほかにもAction Scriptの解説がある。

結構むずかしい、ってゆーか分からん(^^;A

2007年9月14日金曜日

文字化け解消サイト

http://www.shtml.jp/mojibake/google.htmlがGood!

派遣先のFTPサーバはWinに設置してあるためか、圧縮データを解凍すると濁音・半濁音を使用したファイル名は文字化けを起こします。

例:「海外パターン」→「豬キ螟悶ワ繧壹ち繝シ繝ウ」

で、これを解消するツールを捜したところWinではフリーウエアとしてMbakerがあったのですが、Mac版でいいのがないかなぁ~などと捜したところ、上記のサイトを見つけました。

ここに入力すれば濁音・半濁音のみが?表示されるだけですので、リンクファイルが見つかりますね^^

Mac OS X上のUnicode

http://labs.unoh.net/2007/09/unicode-on-mac.htmlより
Mac OS Xでは、ファイルシステムでUnicodeが用いられています。いわゆるUTF-8なのですが、一般に言うところのUTF-8とは違います。 Macをお持ちの方は、「iconv -l」とTerminalからコマンドを実行してみてください。「UTF-8-MAC」という表示が見つかるかと思います。

一般的なUTF-8では、文字はNormalization Form C(NFC)で 符号化正規化されています。しかし、Mac OS Xのファイルシステムで用いられているUTF-8 (以下、便宜的にUTF-8-MACと呼びます)では、文字はNormalization Form D(NFD)で符号化正規化されます。日本語を扱う際にNFCとNFDでどこが違うかというと、ひらがな・カタカナの濁点・半濁点の扱いです。 UTF-8では「が」は「U+304C」(HIRAGANA LETTER GA)ですが、 UTF-8-MACでは「U+304B U+3099」(HIRAGANA LETTER KA、COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK)となります。
(中略)
しかもややこしいことに、UTF-8で濁点をあらわすコードは「U+309B」(KATAKANA-HIRAGANA VOICED SOUND MARK)で、 UTF-8-MACから送信される「U+3099」(COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK)とは別物です。サーバ側できちんと変換できればよいのですが、 PHPのmbstringモジュールはUTF-8-MACをサポートしていません。(Javaの場合、Java SE 6から導入された java.text.Normalizerクラス を使えば一発で変換できますね。)

また、Mac上で動作する他のブラウザの挙動を調査したところ(「サンバの季節」というファイルをタイトルを変更せずにアップロードした場合)、それぞれの挙動が異なることがわかりました。

ブラウザ フォーム上のタイトル表記 登録されたタイトル
Safari サンバの季節 サンハ
Firefox サンバの季節 サンバの季節
Opera サンハ゛の季節 サンハ

Firefoxは内部的に変換処理を行うようになっているようです。問題はSafariとOperaですね。選択されたファイルのパスからJavaScriptでファイル名を抜き出してタイトルに設定する部分で、正しく扱えるような文字コードに変換することにしたいと思います。

基本的な流れとしては、UTF-8-MAC特有の「U+3099」(COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK)、「U+309A」(COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK)がファイル名に含まれている場合は、その前の文字と結合して濁音・半濁音の文字にしてあげればいいでしょう(ひらがな・カタカナのみの暫定的な対処に過ぎませんが)。

で、この件に関してhttp://d.hatena.ne.jp/odz/20070904/1188884960
何のことを言っているか分からない人のために。

Unicode では、濁音/半濁音/アクセント記号(ウムラウト等)がついた文字を合成文字1文字(ガ(U+30AC))で表すことも、基底文字 + 結合文字(カ(U+30AB) + ゛(U+3099))で表すこともできる。前者の方法で正規化したものを NFC(Normalization Form Composition)、後者で正規化したものを NFD(Normalization Form Decomposition)という。他にも NFKC と NKFD があるが略。これは文字の表現形式の話で、エンコーディングとは違うレイヤの問題なんだけども、非 Unicode のエンコーディングには結合文字というのがないのが普通なので、NFD のままだとエンコーディングの変換に失敗したりする。

でまぁ、普通に入力するとたいてい NFC になっているので問題にならないが、Mac OS X のファイルシステムはファイル名を NFD で格納するので、Mac OS X のファイルを扱うと問題になったりするわけだ。Mac OS X も普通に入力したテキスト自体は NFC になっている。

文字化けしないzipScriptのコピペ

(*
★このスクリプトについて
Windowsで文字化けしないzipを作るスクリプト
転載、改造、再配布OK。

★準備
・convmvのインストール 
http://www.j3e.de/linux/convmv/
からconvmvをダウンロードして解凍します。

方法1:簡単な方法
解凍したフォルダ内にあるconvmvを
アプリケーションフォルダに移動します。

方法2:ターミナルを使う方法
ターミナルで解凍したフォルダに移動して
$ make
$ sudo make install
のコマンドを実行します。これでインストール完了です。

★使い方
・Finderで変換したいファイルを選択して、このスクリプトを実行します。
OS標準の機能ではスクリプトメニューが便利です。
またこのスクリプトをアプリケーションとして保存するとドロップレットとして使うことが出来ます。

★注意点
ファイル名に含まれる文字によっては文字化けしないzipが作れないかもしれません。
*)

(*
原案:
ID:76G3QLdG0さん
0. convmvをインストール。
1. UFSフォーマットのイメージファイルをディスクユーティリティで作成し、マウント。
2. 圧縮したいものをそのボリュームにコピー
3. メタデータの「._*」ファイルを削除(お好みで)
3. convmv -r -f utf8 -t sjis * という感じでファイル・フォルダ名を変換
4. zip -r hoge.zip * などで圧縮。

ID:MUvS6O+B0さん
convmv --listにsjisが入ってないから、
cp932を使ったほうが安全かも。
> convmv -r -f utf8 -t cp932 *
*)

(*
更新履歴:
2007-09-10 初公開
2007-09-11 同名のzipファイルがある場合ユニークな名前にして上書きされないようにした
ファイルサイズを計算してディスクイメージを作るようにした
圧縮するファイル名によってはzipファイルの名前を作成する時にエラーが出ていたのを修正

*)
-----
on run
tell application "Finder"
set theFiles to selection
if (count theFiles) > 0 then
set path1 to item 1 of theFiles as Unicode text
set path2 to path to me as Unicode text
--display alert path1 & return & path2
if path1 is path2 then
beep
display dialog "アプケーション自身は圧縮できません" buttons {"OK"} default button 1
return
end if

my makeSjisZipFile(theFiles)
else
beep
display dialog "処理対象のファイルが無いです。" buttons {"OK"} default button 1
return
end if
end tell
end run

on open (inFiles)
my makeSjisZipFile(inFiles)
end open


on makeSjisZipFile(inFiles)
set convmvPath to my convmvPath()
if convmvPath is "" then
beep
display dialog "convmvが見つからないので処理を停止します。" & return & "このスクリプトをスクリプトエディタで開くと説明が書いてあります。" buttons {"OK"} default button 1
return
end if

set theFileCount to count inFiles

--zipファイル名作成
tell application "Finder"
set zipPathWithoutExt to (item 1 of inFiles as alias) as string
if theFileCount is 1 then
if zipPathWithoutExt ends with ":" then
set zipPathWithoutExt to text 1 thru -2 of zipPathWithoutExt as Unicode text
end if
else
if zipPathWithoutExt ends with ":" then
set zipPathWithoutExt to text 1 thru -2 of zipPathWithoutExt as Unicode text
end if

set oldDelimiters to AppleScript's text item delimiters
set AppleScript's text item delimiters to {":" as Unicode text}
set theList to text items of zipPathWithoutExt
set folderPath to (items 1 thru -2 of theList) as text
set AppleScript's text item delimiters to oldDelimiters

set zipPathWithoutExt to folderPath & ":archive"
end if
end tell
set zipPath to makeUniqueName(zipPathWithoutExt, ".zip")


set allFileSize to 1024 * 12 --よくわからんがシステム領域やファイル名とかの保存分を考慮して余裕を持たせておく。
if theFileCount is 0 then
beep
display dialog "処理対象のファイルが無いです。" buttons {"OK"} default button 1
return
else
--ファイルの合計サイズを計算
repeat with theFile in inFiles
tell application "Finder"
set theName to name of theFile
set theAlias to theFile as alias
set theAliasPath to theAlias as string
set theFilePath to ヌclass psxpネ of theAlias as string
set theSize to ヌevent sysoexecネ "du -sk " & ヌclass strqネ of theFilePath & " | perl -ne 'm/^([0-9]+)/; print $1;'"ア

set allFileSize to allFileSize + theSize + 16 --念のため多めに増やしてみる
if theFilePath ends with "/" then
set allFileSize to allFileSize + 256 --フォルダだとさらに多めに増やしてみる
end if
end tell
end repeat
end if


set theDmgName to "sjisZip_" & (ヌevent sysoexecネ "date '+%m%d_%H%M%S'") & ".sparseimage"
set theDmgPath to ヌclass psxpネ of ((path to temporary items folder as Unicode text) & theDmgName)

-- disk imageを作る
ヌevent sysoexecネ "hdiutil create -fs UFS -size " & allFileSize & "k -volname " & ヌclass strqネ of theDmgName & " " & ヌclass strqネ of theDmgPath -- -type SPARSE

--マウント。アンマウント用にディスク情報を保存しておく
set devName to ヌevent sysoexecネ "hdiutil mount " & ヌclass strqネ of theDmgPath & " | perl -ne 'print $1 if m!^([/a-zA-Z0-9]+).*" & theDmgName & "!'"

set dmgVolumePath to "/Volumes/" & theDmgName

set theIndex to 1
try
repeat with theFile in inFiles
tell application "Finder"
set theName to name of theFile
set theAlias to theFile as alias
set theAliasPath to theAlias as string
if theAliasPath ends with ":" then
--フォルダ
set theFilePath to ヌclass psxpネ of theAlias as string
ヌevent sysoexecネ "ditto --norsrc " & ヌclass strqネ of theFilePath & " " & ヌclass strqネ of dmgVolumePath & "/" & theName

--.DS_Store削除 -- ディスクに対してやるとtrashフォルダでエラーが出たので個別にやる
ヌevent sysoexecネ "cd " & ヌclass strqネ of dmgVolumePath & "/" & theName & "; find . -name '.DS_Store' -delete"

else
set theFilePath to ヌclass psxpネ of theAlias as string
ヌevent sysoexecネ "ditto --norsrc " & ヌclass strqネ of theFilePath & " " & ヌclass strqネ of dmgVolumePath
end if
end tell
end repeat
on error msg
display dialog "ディスクイメージへのファイルのコピー中にエラーが起きたので処理を中止します。" & return & msg buttons {"OK"} default button 1
return
end try



ヌevent sysoexecネ "cd " & ヌclass strqネ of dmgVolumePath & "; " & convmvPath & " -r -f utf8 -t cp932 * --notest;" --convmv
ヌevent sysoexecネ "cd " & ヌclass strqネ of dmgVolumePath & "; zip -r " & ヌclass strqネ of ヌclass psxpネ of zipPath & " *" --zip作成

ヌevent sysoexecネ "hdiutil detach " & ヌclass strqネ of devName --アンマウント
ヌevent sysoexecネ "rm " & ヌclass strqネ of theDmgPath --dmg削除

tell application "Finder"
set selection to zipPath as alias

beep
activate
display dialog "zipの作成が終わりました" buttons {"OK"} default button 1
end tell
end makeSjisZipFile


on convmvPath()
try
ヌevent sysoexecネ "ls /Applications/convmv"
return "/Applications/convmv"
end try

try
ヌevent sysoexecネ "ls /usr/local/bin/convmv"
return "/usr/local/bin/convmv"
end try

return ""
end convmvPath


on makeUniqueName(inBaseHFSPathName, inExtention) --
tell application "Finder"
try
set theIndex to 1
set theTestName to inBaseHFSPathName & inExtention

repeat
theTestName as alias -- ファイルが無ければここでエラーになるのでループ終了
set theTestName to inBaseHFSPathName & "_" & theIndex & inExtention
set theIndex to theIndex + 1
end repeat
end try
end tell

return theTestName
end makeUniqueName

2007年9月12日水曜日

Windowsで文字化けしないzipを作る

http://27-75-31.cocolog-nifty.com/blog/2007/09/windowszipapple_d900.htmlより
Mac OS XからFinderで簡単にzipファイルを作れるようになりました。しかし、保存されるファイル名の文字コードがユニコードらしくてWindowsで解凍すると日本語ファイル名が文字化けしてしまいます。

これを解決する方法がここ、これに書いてあって試した所日本語でもちゃんと文字化けしなくて解凍できるzipができました。ただ手順が手作業でやるには面倒なのでこれを自動でやるAppleScriptを作ってみました。

OS-XのFinder機能でzipファイルが作れるのか。。。知らなかった。。。orz
で、Windowsの文字コードってShift-JISだっけ? 文字コードが基本なだけに勉強不足を痛感。
シフトJISとUnicodeとの関連はどうなるのか?

Tipsいろいろ

読めない漢字のよみがな
http://www.yomigana.com/

どうしても必要になってくるよね。



http://d.hatena.ne.jp/moto0215/20070911/1189503794より
■[excel] Firefoxやダブルクリックで開けなくなった
Firefoxから直接Excelファイルを開くとエラー、IEからも同様なので、どうもブラウザの問題ではなさげ。

おまけにFinder上でhoge.xlsをダブルクリックしてもExcelは起動するがファイルは開かない。

調べたら、「ツール/オプション/全般、他のアプリケーションを無視する」で直った、ガックシ。

最近、excel使ってないなぁ~


黄金比グラデーション・白銀比グラデーションより
先日、バランスのよさ気なグラデーションの比率を考えていたところ、以前このブログでご紹介しました、『身近にちらばる黄金比のデザイン』を思い出しました・・・

グラデーションの比率を黄金比(1:1.618...)に設定してみたら、しっくりくるかな?っと思いまして。。。

実際に試してみたところ、結構いい感じだったのでご紹介。。

上部から中央に、中央から下部に垂直にグラデーションを2段階に分けてかけてみました。で、上部と下部のグラデーションの比率を黄金比に設定してみました。。(といっても、38%と62%と大雑把ですが・・・)

まぁ基本ですね。

2007年9月11日火曜日

CMYKプロファイル

http://www.photoshopworld.jp/tips/print/print-basic/20070620/index.htmlより

ではCMYKの場合はどうなのでしょうか?CMYKのデータとは、すでに印刷条件に合わせたプロファイルによって分解されたデータということになります。つまりCMYKのデータとは、その印刷条件で印刷する上では、すでに正しいデータなのです。正しいデータであるので、この後変換をする必要がなく、プロファイルも必要ないわけです。というのは建前として、CMYKデータにプロファイルを埋め込んだ場合、もっと深刻な問題が生じます。データを受け取った側がプロファイルの扱いに慣れていればよいのでしょうが、そうでない場合CMYK → CMYKの変換をしてしまうと大変です。

話を単純にするために、Aとういプロファイルが埋め込まれた、CMYがすべて0%でKが100%のいわゆるスミベタのデータがあるとしましょう。これを別のCMYKプロファイルに変換したとしたらどうなると思いますか?実はこのような処理をすると見かけは似たような黒であっても、CMYKにすべてデータが乗った見かけ上の黒に変わってしまうのです。カラーマネージメントによる色変換はLabカラーを基準とします。そのため、実際にはCMYK → (Lab) → CMYK となり、いったんLabモードに変わったデータを再度CMYKで色を作り直すために、CMYKすべての版にデータが乗ってしまうのです。

これは黒だけの問題ではなく、グレーもそうですし、もちろん赤や青といったすべての色が再構築されてしまいます。RGBの場合もlabを仲介しますから、もちろん色が再構築されているわけですが、わずかのずれはRGBがそれほど気になりません。しかし、CMYKの場合、特にKで表現される黒やグレーといった色がCMYKすべての版で表現されると、色の見え方が変わってきてしまいます。また、Photoshopに直接関係ないかもしれませんが、InDeisgnやIllustratorでヌキやスミノセの指定をした場合、期待通りに仕上がらなくなってしまいます。

今日、CLさんのSBMで知ったサイト。早速、無料のメンバー登録^^

スプライン曲線とベジェ曲線の比較

あさうすさんの実験る~むより

2次B-スプライン曲線は2次式となっていますが、ベジェ曲線は3次式となっています。
そのため、ベジェ曲線の方が複雑な曲線を表現できますが、処理に時間がかかります。
曲線を定義するためには、端点の間に、2次B-スプライン曲線は1点(オフカーブ点)あればよいですが、ベジェ曲線は2点(方向点)必要です。そのため、簡単な曲線では、ベジェ曲線の方が制御点は多く必要となります。
2次B-スプライン曲線で複雑な曲線を表現しようとすると、1つの曲線を短くしなければならないため、制御点は多くなります。

一概にどちらが優れているとはいえません。

「TTEdit」「OTEdit」など、数々のフォント関連ソフトをリリースされてる武蔵システムさんのサイトから引用。勿論、情報の正確さは言わずもがな。

表現する曲線によって制御点が多くなる=データ量が多くなってしまう、という点ではスプライン曲線のほうが不利というのはあるんですが、それは曲線のクオリティとはまた別なので、そこを同じに語るとちょっと辛いモノがありますよ。
……という話。

そもそも「TrueType=出力に使えない」という神話自体が、TrueTypeの出力に制限をかけていた旧MacOS時代の問題によるものが大きいのだけれども、未だに誤解してる人が多いのは困ったもんです。

リュウミンL-KLとゴシックBBBにのみ解像度制限がかかっていたというお話。このことからTrueTypeフォントは商用利用は無理だという神話が広まったのです。

2007年9月5日水曜日

文字通りいろいろ

RSSを巡回して豊作な一日だった^^
不作な時はDTPネタにあまり関係のないことをコピペしているが、今日は過去最高の豊作日和。

アルツになりかけ で以前、CSからと書いていたのだが、雄さんのとこで

Photoshop 6以上で、
ファイル>読み込み>PDF画像

を発見! 早速、以前の日記を修正しました。


http://ameblo.jp/insatsuya/entry-10045857674.htmlにて

そのなかで、一番感激していただいたのが、
B3くらいの手書きの絵をA4スキャナーで6分割してスキャンし、
フォトショップ上で力業で繋いでおられましたが、
上手く行かず断念され、仕方なく外注に出されました。

で、
なんか良い方法はありますか?
と言う質問。

勿論ですよ!(#^.^#)
そのスキャンしたファイルは未だありますか?

あったので、
CS2のフォトショップ(一本だけありました)で
自動処理のPhotomerge。

ファイルを選択してオーケーで終了。
僅か数秒で出来上がり。

Photomergeってパノラマ写真の合成がSampleにあったので、その用途しか知らなかったんです。
相変わらず応用力というか想像力がないのね、オレ。目からウロコでした。


ついでDTPの駆け込み寺から
Cocoapotraceってあったよなぁ~。完全に忘れてました。
ちなみに使い方

以前にも雄さんのとこや寺で思い出させてもらった記事があったのですが、後でまとめて書こうと思いつついつの間にか忘れてしまってます。まめに書かなきゃダメなのね。

ブログの画像からカメラの種類を調べるスクリプト

http://netafull.net/tech/021749.htmlより

ブログの画像からカメラ携帯の機種を調べてみるというエントリーより。

某チャンネルで「ブログにのってる写真のEXIFをみれば使ってる携帯機種わかるね」という感じで盛り上がったので、さくっとスクリプトかいてみました。みやーんことmiyagawa氏がブログに埋め込まれているJPEGのEXIFデータから、メーカー、機種名を抽出するためのスクリプト「What cameraphone do they use?」をさくっと書いていました。

で、印刷製本SNSで質問したら早速
CL

これ、PerlのImage::infoていうモジュール使います

#!/usr/bin/perl

use strict;
use warnings;
use LWP::Simple;
use Image::Info qw(image_info dim);

my $url = "http://stat.ameba.jp/user_images/2f/8f/10030287252_s.jpg";
# 若槻千夏
my $data = get( $url );

my $info = image_info( \$data );

print $info->{'Model'}."\n";

2007年9月4日火曜日

MS Officeのバグ

http://blogs.yahoo.co.jp/iyashikashinazeni/49244665.htmlより

実は、『MicrosoftOffice for Mac』には許容しがたいバグがあって、

クラシック環境(MacOS9)で使用していた一部の欧文フォントに対応していません。

これは、正直辛いです。

MacOSXでもパンサー(10.3)であれば、

エラーを出しながらでも無理矢理起動するんですが、

タイガー(10.4)になるとフォントをはずさないと起動すらしません。

外部入稿データが多く、

原稿が『MicrosoftOffice』データであることが圧倒的なだけに、

DTPのソフトと同時起動は避けては通れない道となっています(ウチだけかもしれませんが)。

というわけで、『MicrosoftOffice』データも開くことができ、

しかも、フォントの規制がない『NeoOffice』は重宝するというわけです。



さらに、個人的には、昨今クライアントから入る訳のわからない入稿形態の類、

『MicrosoftOffice』の書類に貼りついた写真原稿(笑)。

これも先日紹介した裏技。

ODFフォーマットで保存し、解凍ソフトで展開することにより、

劣化の全くない画像データ抜き出しができるメリットもあります。

あとは、Photoshopで開いて、リサイズして補正すればいいわけです。

以前は、『MicrosoftOffice』の書類に貼りついた写真原稿に本当に苦労させられたので、

これを思いついたときはあちこちで同じことを連呼しちゃったもんです(バカ)。



OS-Xになって欧文Type1フォントを認識しなくなったという話をMS製品以外でも目にしたことがあったな。
今度、見つけたらコメント欄に書いておくか。

2007年9月3日月曜日

DBフリーツール

http://www.winfate.com/archives/51217848.htmlより

主な使用法として

GUIでのSQL編集
以下のサイトからダウンロードできますので、興味のある方はどうぞ
黒猫 SQL Studio(Vector)


商品案内のDBをFileMakerで構築したのが10数年前。
時代はいつのまにかSQLになってしまった。
勉強することが多すぎてどれも手が付けられない状態なのに、またクリップ。

2007年9月2日日曜日

0の概念

昨日の続きです。

$a = !($_%3)?'Fizz':'';

0という数字を見てますと「0」という概念が存在してしまいますが、0というのは「ない」という概念みたいです。で、この式は「3で割った余りがないときFizzを返し、そうでないとき何もしない」と解されるべきなのでしょうか。

すごいのは「''」の概念でして、これもある意味0の概念かと思います。文字が存在しないのですから、数字がデリートされるのかと思いきや、そのまま存在してます。これは「何もしない」というある種の0概念の気がします。

数式的には
$a = ($_%3)?'':'Fizz';

の方が分かりやすい。「3で割った時の余りがあるときは何もしない。そうでないときはFizzを返す」

読み解くのは結構面白いです^^

他にあがっていた構文をいくつかあげます。
#!/usr/bin/perl
for my $a(1..100){
if ($a % 3 == 0 && $a % 5 == 0){
print "fizzbuzz\n";
}elsif($a % 3 == 0){
print "fizz\n";
}elsif($a % 5 == 0){
print "buzz\n";
}else{
print "$a\n";
}
}


for my $i (1..100) {
my $s = sprintf "%s%s", $i%3?"":"Fizz",$i%5?"":"Buzz";
printf "%s\n", $s?$s:$i;
}

他にもいくつかありましたが、初心者には難しすぎてこの辺から読み解くのがいいかもしれません。

2007年9月1日土曜日

三項演算

http://yoshihashi.blogspot.com/search/label/Scriptを入門書を片手に読み解いてます。

で、

$a = !($_%3)?'Fizz':'';

で躓いてたんです。

いろいろググったらhttp://kabocha.org/jelfe/07/04.htmlにたどり着きました。


▼ 三項演算

・上記までに説明された、二項演算子、単項演算子の書式を記憶出来れば、残りのただ一つの例外を除いて演算子の意味を調べるだけで記述する事が出来る。だけどperlには一つだけ三項演算子があり、演算子っぽくないような複雑な処理を実現する。この演算子は「A」をブール値で評価した後、真だったならば「B」を評価して返す。偽だったら「C」を評価して返す。

$scalar = A ? B : C;

・実際には以下のように書く。

$scalar = $a ? $b : $c;


・上記の処理をif文を用いて表現すると以下のようになる。 if文に関しては [07/08.条件分岐] を参照。

if($a){
$scalar = $b;
}else{
$scalar = $c;
}



って、以前購入した超ど級入門書「Perlの絵本」に全部載ってるよ~~~!!

何読んでたんだよオレ。。。orz