- Сообщения
- 17 609
- Реакции
- 7 947
Скорее у Вас не стоит тот шрифт, где он набран "в той раскладке". Или он стоит тот, но он всё же не тот (это же пейджмейкерчто это текст как бы набранный не в той раскладке.

Скорее у Вас не стоит тот шрифт, где он набран "в той раскладке". Или он стоит тот, но он всё же не тот (это же пейджмейкерчто это текст как бы набранный не в той раскладке.
Штирлиц (программа) — Википедияне привычная Windows-раскладка, а чуточку иная, потому что некоторые буковки путаются
Вы думаете там полный коллект публикации со всеми оригинальными шрифтами?те самые
Как я понял файл на Маке сделан, наверное под кустарно русифицированной Mac OS 7/8/9. 98 не поможет.У Вас точно VM с Windows 98?
Достаточно классических шрифтов чтобы понять. Я так со своим же PDF'ом воевал, открывался в иллюстраторе с аналогичным текстом. Подлянка была в том, что вьюер показывал нормально, а после пропускания через вёрстку в ID Mac OS X получался тот же бардак.полный коллект публикации со всеми оригинальными шрифтами?
Ну на это какбэ намекает кодировка EN LayoutВидимо здесь использовался шрифт с кириллицей на месте латинской группы.
под кустарно русифицированной Mac OS 7/8/9
var to_String = "юйцукенгшщзхъфывапролджэёячсмитьбюЙЦУКЕНГШЩЗХЪФЫВАПРОЛДЖЭЁЯЧСМИТЬБ,э\"\":—"
var from_String = "/qwertyuiop[]asdfghjkl;’\\zxcvbnm,nQWERTYUIOP{}ASDFGHJKL:«|ZXCVBNM<>‘ÇÈ%Ñ"
var AD = app.activeDocument;
var all_Page_Items = AD.textFrames;
var itemsCount = all_Page_Items.length;
if (itemsCount>0){
for ( i = 0; i < itemsCount; i++ ) {
var theItem = all_Page_Items[i];
theKind = "TextFrame";
if (theKind=="TextFrame"){
theString="";
theString = theItem.contents;
theLength = theString.length;
newString = "";
if (theLength>0){
for (j = 0; j < theLength; j++){
thenewChar = theString[j];
newChar=theString[j];
findChar=true
for (k=0; k< from_String.length;k++){
thisChar = from_String[k];
if ((thisChar==newChar) && (findChar)){
thenewChar=to_String[k];
findChar=false
} // theChar = newChar
} // for k < from_String.length
newString = newString + thenewChar;
} // for j < theLength
if (theString != newString)
theItem.contents = newString;
} // theLength >0
} // Kind = TextFrame
} // for itemsCount
} // itemsCount > 0
Для надёжности. При глобальной замене нет никакой гарантии, что новый символ не окажется в списке заменяемых позже. Для русских букв не актуально, а вот знаки препинания здесь тоже под замену идут, как минимум двоеточие и запятая. Индивидуальная замена позволяет не обращать внимания на порядок замены.зачем каждый символ индивидуально менять
Для надёжности. При глобальной замене нет никакой гарантии, что новый символ не окажется в списке заменяемых позже. Для русских букв не актуально, а вот знаки препинания здесь тоже под замену идут, как минимум двоеточие и запятая. Индивидуальная замена позволяет не обращать внимания на порядок замены.
Вдобавок, лично я не уверен, что 72 глобальные замены будут работать быстрее одной посимвольной замены![]()
var changes = {
"a":"b",
"c":"d"
}
var srcString = "ac";
for(var i=0;i<srcString.length;i++) {
var currChar = srcString[i];
if(changes[currChar]) srcString[i]=changes[currChar];
}
Cходу не заметил, я думал там как раз словарем и реализовано. Тогда, согласен, идиотизмих тут не одна, а столько, сколько символов в тексте, еще и с перебором вариантов каждый раз
Раскрою страшную тайну - глобальная замена работает точно так же, как и посимвольная здесь. Поиск последовательно просматривает весь текст на совпадение символа и заменяет если найдено. Не так тупо как у меня, конечно, но мои познания в JavaScript и сейчас близки к нулю, а этот скрипт я писал ещё при переходе с классической системы Mac OS на Mac OS X, причём для иллюстратора. Как раз для решения проблемы разных кодировок в разных системах.их тут не одна, а столько, сколько символов в тексте
проще использовать словари, на худой конец indexOf()
Раскрою страшную тайну - глобальная замена работает точно так же, как и посимвольная здесь. Поиск последовательно просматривает весь текст на совпадение символа и заменяет если найдено. Не так тупо как у меня, конечно, но мои познания в JavaScript и сейчас близки к нулю, а этот скрипт я писал ещё при переходе с классической системы Mac OS на Mac OS X, причём для иллюстратора. Как раз для решения проблемы разных кодировок в разных системах.
Зато пару строк заменил и пользуйся.
var to_String = "юйцукенгшщзхъфывапролджэёячсмитьбюЙЦУКЕНГШЩЗХЪФЫВАПРОЛДЖЭЁЯЧСМИТЬБ,э\"\":—"
var from_String = "/qwertyuiop[]asdfghjkl;’\\zxcvbnm,nQWERTYUIOP{}ASDFGHJKL:«|ZXCVBNM<>‘ÇÈ%Ñ"
var AD = app.activeDocument;
var all_Page_Items = AD.textFrames;
var itemsCount = all_Page_Items.length;
for ( i = 0; i < itemsCount; i++ ) {
var theItem = all_Page_Items[i];
var theString = theItem.contents;
var theLength = theString.length;
var newString = "";
for (j = 0; j < theLength; j++){
newChar=theString[j];
var charIndex = from_String.indexOf(newChar);
if(charIndex!=-1)
newString+=to_String[charIndex];
else newString+=newChar;
}
if (theString != newString)
theItem.contents = newString;
}