2016-09-04 1 views
2

У меня есть сценарий для фотошопа, который выводит имя текстового слоя и содержимого слоя в файл CSV Excel. Он отлично работает, если текст является английским, но если текст арабский/тайский, он отображается так: «??????». Как я могу правильно отобразить эти тексты?Вывести арабский/тайский текст в файл Excel с помощью Photoshop JavaScript

Мой сценарий получает layername и слой подобного контента:

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

Затем выводить имена в Excel файл, как это:

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

Я попытался изменить стиль шрифта Arial для арабского и Тахома для тайцев, но это не сработало. Я даже пытался конвертировать LayerContents.toString();

ответ

0

Вам нужно установить текст в Юникод. В следующем примере я напишу имя слоя в текстовый файл. Принцип для 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(); 
} 
Смежные вопросы