Substituindo uma fonte em muitos arquivos do ilustrador


7

Eu tenho várias centenas de arquivos do Illustrator formatados de maneira semelhante e, por razões legais, preciso substituir uma fonte em todos eles. Mesmo com a ferramenta 'Localizar fonte', existem muitas fontes para substituir manualmente.

Existe alguma maneira de automatizá-lo? Por exemplo, usando Bridge? O Illustrator (CS5) não oferece muitas opções no Bridge, em comparação com as opções de automação oferecidas pelo Photoshop. Também não vejo nenhuma opção para executar ações em vários arquivos do Illustrator.

Além disso, a criação de uma ação repetível para substituir a fonte não parece funcionar: em vez de repetir minha ação, ela abre a caixa de diálogo e espera que eu diga para substituí-las.

Como programador, estou preparado para editar os arquivos diretamente, se possível, sem quebrá-los.


Atualização: o item de menu 'Lote ...' do menu do painel de ações do Illustrator permite que a mesma ação seja executada em uma pasta de arquivos. Porém, ele não corrige a ação Localizar fontes aguardando entrada. Desativar a caixa de diálogo faz com que a ação não faça nada.

Respostas:


4

Você pode dar uma olhada em scripts.

Este link é para os fóruns da Adobe com uma discussão sobre scripts para alterar fontes no Illustrator CS4. Os mesmos scripts devem funcionar no CS5 ou CS6.

Referência de script do Illustrator (clique aqui)


Eu não tinha ideia de que você poderia usar o Javascript para controlar os aplicativos da Adobe. Eu sabia sobre o equivalente ao AppleScript e estava começando a observar um dos Macs no escritório para esse fim.
Marcus Downing

11
Ok, há uma boa razão para isso. Está realmente mal documentado.
Marcus Downing

Eu suponho que você olhou aqui: adobe.com/devnet/illustrator/scripting.html
Scott

Sim, mas essa é uma documentação bastante aproximada em comparação com muitas linguagens modernas. Foram necessárias muitas tentativas e erros, mas essa abordagem está começando a funcionar para mim - está substituindo fontes. Vou postar o script completo quando terminar.
Marcus Downing

Aceitei sua resposta, mas adicionei uma resposta minha com a solução detalhada que elaborei.
Marcus Downing

6

O uso de ações pode ajudar e é uma boa estratégia se você conseguir fazê-lo funcionar (acionando vários comandos Localizar fonte para todos os diferentes estilos de texto que você possui).


Outro método, se você é um jogo, está usando um editor de texto para editar os documentos. É um pouco mais arriscado, mas certamente poderia explodir milhares de documentos em um espaço muito curto de tempo.

Aqui estão algumas etapas que podem ajudar você a começar.

  1. Duplique todos os documentos que você deseja editar. Não posso enfatizar isso o suficiente ... há uma chance muito boa de você causar sérios danos se não for cuidadoso, portanto, você precisará trabalhar em cópias.

  2. Dependendo do editor de texto que você está usando, pode ser necessário renomear todos os arquivos para .txt em vez de .ai. Se você estiver usando o OS X, o aplicativo Automator gratuito da Apple poderá fazer isso (já está na sua pasta Aplicativos). A ação do Automator que você deseja é Rename Finder Items.

  3. Abra um dos documentos em um bom editor de texto que possa Localizar e substituir nos documentos. Você provavelmente vai querer algo como BBEdit, Coda, Espresso, TextMate ou um editor semelhante para programação. Eu geralmente uso código para esse tipo de coisa.

  4. Encontre as partes do código que contêm as informações da fonte. Os arquivos .ai do Adobe Illustrator contêm algum XML que provavelmente é o bit que você deseja alterar, portanto, deve ser bastante fácil trabalhar com eles. Acabei de salvar um documento com algum texto. Aqui está um pouco do XML no meu documento que mostra a fonte (pode ser necessário alterar vários locais).

 <rdf:li rdf:parseType="Resource">
    <stFnt:fontName>MyriadPro-Regular</stFnt:fontName>
    <stFnt:fontFamily>Myriad Pro</stFnt:fontFamily>
    <stFnt:fontFace>Regular</stFnt:fontFace>
    <stFnt:fontType>Open Type</stFnt:fontType>
    <stFnt:versionString>Version 2.006;PS 002.000;Core 1.0.38;makeotf.lib1.6.6565</stFnt:versionString>
    <stFnt:composite>False</stFnt:composite>
    <stFnt:fontFileName>MyriadPro-Regular.otf</stFnt:fontFileName>
 </rdf:li>

  1. Renomeie todos os seus arquivos de volta para .ai.

Você terá que experimentar muito. Você provavelmente desejará editar um documento para ver como é o antes e o depois e tentar automatizá-lo com uma ou várias ações Localizar e Substituir.

Depois de ter funcionado, você poderá aplicá-lo a todos os seus arquivos (lembre-se, nas cópias, não nos arquivos originais!).

Isso vai funcionar? Vale a pena o seu tempo? Talvez sim, talvez não. Depende se isso é algo normal que você precisa fazer, quão confortável você está com o método e quantos arquivos você possui.

Observe que a alteração da fonte provavelmente moverá elementos e o texto poderá sofrer uma redução significativa.


11
Eu gosto do Sublime Text 2 .
Marcus Downing

11
"Depende se isso é algo normal que você precisa fazer, quão confortável você está com o método e quantos arquivos você tem." - Eu estou confortável com um texto encontrar-substituir, sim. Eu deveria ter que fazer isso apenas uma vez, mas isso afeta muitos arquivos.
Marcus Downing

11
"Os arquivos .ai do Adobe Illustrator são XML" - Não é bem, eles são um derivado do Postscript que possui algum XML incorporado no cabeçalho.
Marcus Downing

@MarcusDowning Obrigado pelo esclarecimento. Vou editar a resposta para corresponder ao seu comentário. Você está certo, os arquivos AI PDF (.ai) não parecem ser todos XML. Eu acho que você poderia salvar como EPS também (também não XML!).
Marc Edwards

Eu adoraria saber como você vai fazer isso, porque eu não fiz isso sozinho ... Eu apenas pensei que deveria ser possível, considerando o que você está procurando.
Marc Edwards

4

Para expandir a resposta aceita, aqui estão alguns scripts que trabalhei para fazer o trabalho.

Use o primeiro script para obter o nome exato das fontes que estão sendo usadas. Em seguida, edite a matriz na parte superior do segundo script com os nomes das fontes que você deseja substituir.

var substitutions = [
  ['BellGothic BT', 'Bold',         'Roboto', 'Condensed'],
  ['BellGothic Blk BT', 'Black',    'Roboto', 'Bold Condensed'],
];

Observe que em pastas grandes esses scripts podem levar muito tempo.


0

No Illustrator CC, você pode fazer isso simplesmente indo para Tipo> localizar fonte. escolha quais fontes você deseja substituir por quê.

insira a descrição da imagem aqui

isso funcionou para mim.


11
Isso funciona para um único documento e não para vários arquivos. Você teria que fazer isso repetidamente para cada arquivo que precisa resolver. É por isso que o script é provavelmente uma solução melhor.
Scott
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.