中韓のフォントをCID番号で“直接入力”したい

[3846]中韓のフォントをCID番号で“直接入力”したい | 投稿者:古畑任廿一郎 | 投稿日:2009/11/14(Sat) 15:04:39
過去に同様の質問をさせていただきました。

そのときは日本語のフォントをCID番号で直接
入力したいが、それはできないけど、タグテキストを
用いて対処可能であるとご教示いただきました。

ただ、そのフォントが中韓のフォントであったとき、
同様の手法が使えるものか試行錯誤しましたが、
解決に至りませんでした。

どうか、その解決法をご存じの方、お教え願います。
» 1
そのときのレスはNo.3410から始まっていたと思います。
» 2
中韓のフォントですが、具体的にはAdobeSongStd-Light.otf等のAdobe-GB1-5・Adobe-CNS1-5・Adobe-Korea1-2のアドビフォントを想定しています。
» 3
[3872]Re: 中韓のフォントをCID番号で“直接入力”したい | 投稿者:梅花藻 | 投稿日:2009/11/19(Thu) 11:38:09
中韓のフォントをタグテキストで配置するにはフォントとウエイトを配置するタグテキスト内で指定しておく必要があるようです。(時間をとれずあまりしっかり調べていません。)
<ct:L>(ウェイト:L)と<cf:Adobe Song Std>(フォント:Adobe Song Std)の部分を適当なものに書き換えてください。


//CID番号で文字を入力するスクリプト(Adobe Song Std L用)
CR = String.fromCharCode(13);
var CIDno = ""+prompt("CID番号を入力してください","");
var str = "<SJIS-MAC>"+CR+"<pstyle:><ct:L><cf:Adobe Song Std><pSG:"+CIDno+"><001A><ct:><cf:><pSG:>";

// タグ付きテキストファイル名
var temporal_FILE_NAME = "Replaced_temporary_file.txt";

// 自身の親ディレクトリを戻すfunction
function scriptPath()
{
   tempArray = new Array();
   tempArray = app.activeScript.toString().split("/");
   return tempArray.slice(0, tempArray.length - 1).join("/") + "/";
}

filename = scriptPath() + temporal_FILE_NAME;
fileObj = new File(filename);

if (fileObj.open("w")){
   fileObj.write(str);
   fileObj.close();
} else {
   alert("ファイルが開けませんでした");
}
//タグ付きテキストファイルを配置
app.activeDocument.place(fileObj);
» 4
梅花藻 様、貴重なアイディア・回答、本当にありがとうございました。
お陰で所要のグリフを無事、「InDesign 6.0.4」の文書内に入力することができました。

P.S.
 当方は「Windows 7(NT 6.1) 64ビット版」を利用しております。
この記事の書き込み元へのリンク (コメントや質問などはこちらへどうぞ)

このページをシェア