• Global community
    • Language:
      • Deutsch
      • English
      • Español
      • Français
      • Português
  • 日本語コミュニティ
    Dedicated community for Japanese speakers
  • 한국 커뮤니티
    Dedicated community for Korean speakers

How to define a default font per language?

Community Beginner ,
Oct 17, 2022 Oct 17, 2022

Copy link to clipboard

Copied

I need to define a default font when I write in Arabicscript and other default font when I write in any Western Europe language script in the same sentence.

Is it easy to do that in InD like in Word?

Thanking you in advance.

AraType

TOPICS
Feature request , How to , Print , Scripting , Type

Views

108

Likes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines

correct answers 1 Correct answer

Community Expert , Oct 17, 2022 Oct 17, 2022

Hi @Aratype:

 

You can set up a base paragraph style for each (and eventually child styles of each) in the Paragraph styles panel. Once you create both of the styles, you simply choose the correct style before you start typing (or after) to set the font and the language for spellcheck and hyphenation. When the languages changes mid-paragraph, you can do the same thing with character styles

 

~Barb

Likes

Translate

Translate
Community Expert ,
Oct 17, 2022 Oct 17, 2022

Copy link to clipboard

Copied

Hi @Aratype:

 

You can set up a base paragraph style for each (and eventually child styles of each) in the Paragraph styles panel. Once you create both of the styles, you simply choose the correct style before you start typing (or after) to set the font and the language for spellcheck and hyphenation. When the languages changes mid-paragraph, you can do the same thing with character styles

 

~Barb

Likes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Beginner ,
Oct 19, 2022 Oct 19, 2022

Copy link to clipboard

Copied

Thank you very much. I would like to analize your solution too in the light of GREP.

Likes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Oct 18, 2022 Oct 18, 2022

Copy link to clipboard

Copied

I wouldn't say that it's as easy as is it in Word, but it's fairly easy. Word doesn't force you to use styles, but the easiest way to do this in ID requires fairly diligent use of paragraph styles. 

 

My default paragraph style for mostly Arabic text with occasional English words in it would have a font specified with Arabic support (e.g. Adobe Arabic, which I actually don't like or use but we both have access to it, right? 🙂 😞

 

JoelCherney_0-1666111025145.png

 

But then I could make a character style for only Latin script letters (that probably has a Latin-script font and English langauge (applied), and apply it with a GREP style:

 

JoelCherney_1-1666111176409.png

 

So, you can specify exactly which characters you want it to apply to with the regular expression in the "To Text:" field. The expression there only affects A through Z, but you might want one that also handles numerals, or quotation marks, or whatever.

 

There are plenty of ways to specify exactly which characters get your character style applied, including specifying ranges of Unicode values. If you don't know regular expressions, you can just come back to this thread with a request and I, or one of the many other forums regulars who use regex, can figure out how to write a query for you that captures all of your Latin-script without being too greedy.

 

You could do it in the other direction as well - a default English paragraph style that applied Arabic font, right-to-left behavior, and Arabic language to all text that was set in Arabic glyphs. If that is what you want, let me know and I'll post some more examples.

 

 

Likes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Beginner ,
Oct 19, 2022 Oct 19, 2022

Copy link to clipboard

Copied

Many thanks, I believe this is the solution. However, when I applied it I got erors in the text:

Screenshot 2022-10-19 at 08.56.35.png

In my GREP instructions, I put:
Screenshot 2022-10-19 at 08.57.03.png

Likes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Oct 19, 2022 Oct 19, 2022

Copy link to clipboard

Copied

Can you confirm that the font you specified in your styles contains characters that can be used in the language you want to display?

@Barb Binder  suggested a great option, that once it is set up, you can place in your Library for re-use later. 

I am not sure if mixing text using the left-to-right and right-to-left directions in the same document will produce the desired result.

Likes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Oct 19, 2022 Oct 19, 2022

Copy link to clipboard

Copied

Hi,

Thanks for sharing a sample file. The font you used does not seem to have Arabic Characters (I assume that is what you tried to do) Please correct me if this is wrong.

EricDumas_0-1666173700790.png

It worked when I used fonts like: Dubai, Times New Roman. But I cannot confirm the accuracy of the content.

EricDumas_1-1666173927601.png

 

Likes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Beginner ,
Oct 19, 2022 Oct 19, 2022

Copy link to clipboard

Copied

Thank you! Actually, I use the default font "Adobe Arabic‭"...
Also, I do not want to use digits from the Arabic font, I want to use them from the English font, but I see digits still using Arabic font...

Furthermore, all special characters, like (/%&, should use the English font. How can express them in GREP please?

Likes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Oct 19, 2022 Oct 19, 2022

Copy link to clipboard

Copied

The text in your sample is set in STIX Two Test. That's because the English character style is applied to the whole paragraph. If you turn it off, your regex works as intended, I think. ar.gif

Likes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Oct 19, 2022 Oct 19, 2022

Copy link to clipboard

Copied

LATEST

No, actually your regex doesn't capture everything, does it? I don't know how it affects your match to have both \d and [[:digit:]] in there. Honestly, I think you might want a few different regexes to really capture the effect you want:

 

1) one regex to capture the punctuation you want set in STIX Two Text. Does "all special characters" really include Arabic punctuation like the RTL comma? [[:punct:]] captures that comma, and you really do want that set in Adobe Arabic, I'd imagine. So you should probably just specify each symbol you want to show up in STIX Two Text that you want to behave in an RTL way; and,

 

2) another regex to capture all of your digits and Latin script, which you want to mark as STIX Two Text and left-to-right character behavior and English language. I think that [\l\u\d]+ works fine here, but if you really want to be specific, the syntax for specifying Unicode values would look something like this: [\x{0030}-\x{0100}]+

 

 

 

Likes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines