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

Output Arabic/Thai text in Excel file using Photoshop JavaScript

本文关键字:Photoshop JavaScript 文件 Excel 阿拉伯语 泰语 文本 输出      更新时间:2023-09-26

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

我的脚本得到像这样的图层名称和图层内容:

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

然后像这样在Excel文件中输出名称:

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

我尝试将字体样式更改为阿拉伯语的Arial和泰语的Tahoma,但它不起作用。我甚至尝试转换layercontent . tostring ();

您需要将文本设置为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();
}