使用Photoshop JavaScript在Excel文件中输出阿拉伯语/泰语文本

时间:2016-09-04 07:29:24

标签: javascript fonts arabic photoshop-script thai

我有一个photoshop脚本,它将文本图层和图层内容的名称输出到Excel CSV文件中。如果文本是英文,它的工作正常,但如果文本是阿拉伯文/泰文,它就像这样显示" ??????"。如何正确显示这些文本?

我的脚本获取图层名称和图层内容,如下所示:

var iLayer = app.activeDocument.activeLayer.textItem;
var LayerContents = iLayer.contents;

然后在Excel文件中输出名称,如下所示:

var Names =[ ];
Names.push([LayerName + "," + LayerContents]);

我尝试将字体样式更改为Arial for Arabic和Tahoma for Thai,但它不起作用。 我甚至尝试过转换LayerContents.toString();

1 个答案:

答案 0 :(得分:0)

您需要将文本设置为Unicode。在下面的示例中,我将图层名称写入文本文件。 CSV的主体是相同的。

// refer to the source document
var srcDoc = app.activeDocument;

var myLayerName = srcDoc.activeLayer.name; // ملعقة
alert(myLayerName) // alerts fine;

write_text(myLayerName, "C:\\temp\\layer_name.txt");


function write_text(str, apath)
{
  // create a reference to a file for output
  var txtFile = new File(apath);

  // open the file, write the data, then close the file
  txtFile.encoding = "UTF8"; // make it unicode
  txtFile.open("w", "TEXT", "????");
  txtFile.writeln(str);
  txtFile.close();
}