Avoid fontspec warning with babel
I have this example
documentclass[hyperref=unicode]{beamer}
usepackage[english,nil,bidi=basic-r]{babel}
babelprovide[import=ar-DZ, main]{arabic}
babelfont{rm}{Amiri}
babelfont{sf}{Amiri}
begin{document}
begin{frame}{}
today
end{frame}
begin{frame}{}
selectlanguage{english}
today
end{frame}
end{document}
Compiled with lualatex
I obtain this warning
Package fontspec Warning: Language 'English' not available for font
'Amiri'
What I have done wrong? or what I have missed?
beamer fontspec babel warnings
add a comment |
I have this example
documentclass[hyperref=unicode]{beamer}
usepackage[english,nil,bidi=basic-r]{babel}
babelprovide[import=ar-DZ, main]{arabic}
babelfont{rm}{Amiri}
babelfont{sf}{Amiri}
begin{document}
begin{frame}{}
today
end{frame}
begin{frame}{}
selectlanguage{english}
today
end{frame}
end{document}
Compiled with lualatex
I obtain this warning
Package fontspec Warning: Language 'English' not available for font
'Amiri'
What I have done wrong? or what I have missed?
beamer fontspec babel warnings
Why this warning keep showing?
– Salim Bou
Mar 8 at 21:39
Sorry @Salim, I noticed the warning now. You are right. But I don't know.
– ferahfeza
Mar 8 at 21:41
add a comment |
I have this example
documentclass[hyperref=unicode]{beamer}
usepackage[english,nil,bidi=basic-r]{babel}
babelprovide[import=ar-DZ, main]{arabic}
babelfont{rm}{Amiri}
babelfont{sf}{Amiri}
begin{document}
begin{frame}{}
today
end{frame}
begin{frame}{}
selectlanguage{english}
today
end{frame}
end{document}
Compiled with lualatex
I obtain this warning
Package fontspec Warning: Language 'English' not available for font
'Amiri'
What I have done wrong? or what I have missed?
beamer fontspec babel warnings
I have this example
documentclass[hyperref=unicode]{beamer}
usepackage[english,nil,bidi=basic-r]{babel}
babelprovide[import=ar-DZ, main]{arabic}
babelfont{rm}{Amiri}
babelfont{sf}{Amiri}
begin{document}
begin{frame}{}
today
end{frame}
begin{frame}{}
selectlanguage{english}
today
end{frame}
end{document}
Compiled with lualatex
I obtain this warning
Package fontspec Warning: Language 'English' not available for font
'Amiri'
What I have done wrong? or what I have missed?
beamer fontspec babel warnings
beamer fontspec babel warnings
asked Mar 8 at 21:26
Salim BouSalim Bou
11.5k11542
11.5k11542
Why this warning keep showing?
– Salim Bou
Mar 8 at 21:39
Sorry @Salim, I noticed the warning now. You are right. But I don't know.
– ferahfeza
Mar 8 at 21:41
add a comment |
Why this warning keep showing?
– Salim Bou
Mar 8 at 21:39
Sorry @Salim, I noticed the warning now. You are right. But I don't know.
– ferahfeza
Mar 8 at 21:41
Why this warning keep showing?
– Salim Bou
Mar 8 at 21:39
Why this warning keep showing?
– Salim Bou
Mar 8 at 21:39
Sorry @Salim, I noticed the warning now. You are right. But I don't know.
– ferahfeza
Mar 8 at 21:41
Sorry @Salim, I noticed the warning now. You are right. But I don't know.
– ferahfeza
Mar 8 at 21:41
add a comment |
4 Answers
4
active
oldest
votes
This bugged me for a long time too. This is what is going on:
These are the scripts and languages supported by Amiri:
DFLT Default
arab Arabic
arab.ARA Arabic/Arabic
arab.KSH Arabic/Kashmiri
arab.SND Arabic/Sindhi
arab.URD Arabic/Urdu
latn Latin
latn.TRK Latin/Turkish
When you load Arabic with babelprovide[import=ar-DZ, main]{arabic}
then babel
reads in babel-ar-DZ.ini
.
In this file you will find (among other things):
tag.opentype = ARA
script.tag.opentype = arab
So when Algerian Arabic is the language in use, babel
will load Amiri with arab.ARA
script and language. This exists in the font, so all is good.
But babel-en.ini
contains this:
tag.opentype = ENG
script.tag.opentype = latn
So when English is in use, babel
will try and load Amiri with latn.ENG
script and language. Except this combination does not exist in the font, so a warning is issued by babel
:
Language 'English' not available for font 'Amiri' with script 'Latin'.
Now all we need to do is tell babel
to use Language=Default
with Script=Latin
for English while continuing to use Language=Arabic
with Script=Arabic
for Algerian Arabic.
To do this, remove english
from the main babel
options and instead load it like this:
babelprovide[import,language=Default]{english}
Note: babel
uses language
with a lowercase l
as opposed to fontspec
which uses Language
!
babel
will now load Amiri with supported options for English text and no warning is issued.
MWE
documentclass[hyperref=unicode]{beamer}
usepackage[nil,bidi=basic-r]{babel}
babelprovide[import=ar-DZ, main]{arabic}
babelprovide[import, language=Default]{english}
babelfont{rm}{Amiri}
babelfont{sf}{Amiri}
begin{document}
begin{frame}{}
today
end{frame}
begin{frame}{}
selectlanguage{english}
today
end{frame}
end{document}
add a comment |
You can set the language to default:
documentclass[hyperref=unicode]{beamer}
usepackage[english,nil,bidi=basic-r]{babel}
babelprovide[import=ar-DZ, main]{arabic}
babelfont{rm}[Language=Default]{Amiri}
babelfont{sf}[Language=Default]{Amiri}
begin{document}
begin{frame}{}
today
end{frame}
begin{frame}{}
selectlanguage{english}
today
end{frame}
end{document}
4
Won't that change the language for both English and Arabic to Default?ar-DZ
asks forScript=Arabic
andLanguage=Arabic
. I thought it was better to dropenglish
out of thebabel
options and instead add inbabelprovide[import,language=Default]{english}
. This only changes the Language to Default for English text and leaves it as Arabic for Arabic text. (I'm not familiar enough with Arabic to know if this actually makes a difference in this case, but surely it would sometimes?)
– David Purton
Mar 9 at 6:31
1
Ulrike, David is right. This appliesLanguage=Default
to all languages, potentially breaking font features specific to some languages.
– Javier Bezos
Mar 9 at 8:13
add a comment |
Nothing wrong, on the contrary. These warnings are shown by fontspec
, not by babel
. They could be irrelevant for English, but not for many other languages, including Arabic. To remove them altogether (they are only really useful when the document format is being set up), you may pass the silent
option to fontspec
:
usepackage[english,nil,bidi=basic-r]{babel}
babelprovide[import=ar-DZ, main]{arabic}
PassOptionsToPackage{silent}{fontspec}
babelfont{rm}{Amiri}
babelfont{sf}{Amiri}
Or also:
usepackage[english,nil,bidi=basic-r]{babel}
babelprovide[import=ar-DZ, main]{arabic}
usepackage[silent]{fontspec}
babelfont{rm}{Amiri}
babelfont{sf}{Amiri}
Edit. A 3rd option is to pass silent
as a class option.
Personally, I would only do this as a last resort. Sometimes,fontspec
warns about something important.
– Davislor
Apr 1 at 16:47
add a comment |
First, you can ignore this warning. It’s harmless. (However, I agree that it’s good practice to suppress meaningless warnings so that you don’t miss meaningful ones.)
David Purton’s answer is very elegant, but there is one situation where you might need something more complex: if you’re loading different fonts for the same language that require different options. For example, a babelfont[chinese-traditional]{rm}
might support Language=Chinese Traditional
and a babelfont[chinese-traditional]{sf}
might support CJKShape = Traditional
instead. More immediately, some Arabic fonts (including Noto Sans Arabic) do not support Language=Arabic
.
In this case, you need to pass different fontspec
options to the babelfont
command:
babelfont{rm}[Scale=1.0]{Amiri}
babelfont[english]{rm}[Language=Default]{Amiri}
However, a great multilingual companion font for Khaled Hosny’s Amiri is another of his font families, Libertinus. He based Libertinus Serif on Linux Libertine and Libertinus Sans on Linux Biolinum. I’ll let him speak as to the inspiration for the Latin letters in Amiri, but they’re a close match. There is also a math font that you can select with unicode-math
.
If you want to enable all the font features of these fonts, you might try the following:
documentclass[hyperref=unicode]{beamer}
usepackage[nil,bidi=basic-r]{babel}
babelprovide[import=ar-DZ, main]{arabic}
babelprovide[import=en, language=Default]{english}
babelfont{rm}[Scale=1.0,
Ligatures={Common, TeX},
UprightFeatures={Ligatures=Discretionary},
Numbers={OldStyle,Proportional}
]{Libertinus Serif}
babelfont{sf}[Scale=MatchLowercase,
Ligatures=TeX,
UprightFeatures={Ligatures={Common, Discretionary}},
BoldFeatures={Ligatures=Common}
]{Libertinus Sans}
babelfont[arabic]{rm}[Scale=MatchLowercase,
Ligatures={Common, TeX},
Contextuals={WordInitial,WordFinal,Inner}
]{Amiri}
You can use the superscripts OpenType feature with the realscripts
package.
Note that, due to a bug, Babel 3.27 and below ignores defaultfontfeatures
in babelfont
. I’ve worked around the bug here, but a fix is making its way into the release tree.
At this point, because beamer
uses sans-serif fonts by default, you need to define babelfont[arabic]{sf}
. You can either copy the lines for babelfont[arabic]{rm}
or load a sans-serif Arabic font, e.g.:
babelfont[arabic]{sf}[Scale=MatchLowercase,
Ligatures=Discretionary,
Language=Default
]{Noto Sans Arabic}
add a comment |
Your Answer
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "85"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2ftex.stackexchange.com%2fquestions%2f478487%2favoid-fontspec-warning-with-babel%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
4 Answers
4
active
oldest
votes
4 Answers
4
active
oldest
votes
active
oldest
votes
active
oldest
votes
This bugged me for a long time too. This is what is going on:
These are the scripts and languages supported by Amiri:
DFLT Default
arab Arabic
arab.ARA Arabic/Arabic
arab.KSH Arabic/Kashmiri
arab.SND Arabic/Sindhi
arab.URD Arabic/Urdu
latn Latin
latn.TRK Latin/Turkish
When you load Arabic with babelprovide[import=ar-DZ, main]{arabic}
then babel
reads in babel-ar-DZ.ini
.
In this file you will find (among other things):
tag.opentype = ARA
script.tag.opentype = arab
So when Algerian Arabic is the language in use, babel
will load Amiri with arab.ARA
script and language. This exists in the font, so all is good.
But babel-en.ini
contains this:
tag.opentype = ENG
script.tag.opentype = latn
So when English is in use, babel
will try and load Amiri with latn.ENG
script and language. Except this combination does not exist in the font, so a warning is issued by babel
:
Language 'English' not available for font 'Amiri' with script 'Latin'.
Now all we need to do is tell babel
to use Language=Default
with Script=Latin
for English while continuing to use Language=Arabic
with Script=Arabic
for Algerian Arabic.
To do this, remove english
from the main babel
options and instead load it like this:
babelprovide[import,language=Default]{english}
Note: babel
uses language
with a lowercase l
as opposed to fontspec
which uses Language
!
babel
will now load Amiri with supported options for English text and no warning is issued.
MWE
documentclass[hyperref=unicode]{beamer}
usepackage[nil,bidi=basic-r]{babel}
babelprovide[import=ar-DZ, main]{arabic}
babelprovide[import, language=Default]{english}
babelfont{rm}{Amiri}
babelfont{sf}{Amiri}
begin{document}
begin{frame}{}
today
end{frame}
begin{frame}{}
selectlanguage{english}
today
end{frame}
end{document}
add a comment |
This bugged me for a long time too. This is what is going on:
These are the scripts and languages supported by Amiri:
DFLT Default
arab Arabic
arab.ARA Arabic/Arabic
arab.KSH Arabic/Kashmiri
arab.SND Arabic/Sindhi
arab.URD Arabic/Urdu
latn Latin
latn.TRK Latin/Turkish
When you load Arabic with babelprovide[import=ar-DZ, main]{arabic}
then babel
reads in babel-ar-DZ.ini
.
In this file you will find (among other things):
tag.opentype = ARA
script.tag.opentype = arab
So when Algerian Arabic is the language in use, babel
will load Amiri with arab.ARA
script and language. This exists in the font, so all is good.
But babel-en.ini
contains this:
tag.opentype = ENG
script.tag.opentype = latn
So when English is in use, babel
will try and load Amiri with latn.ENG
script and language. Except this combination does not exist in the font, so a warning is issued by babel
:
Language 'English' not available for font 'Amiri' with script 'Latin'.
Now all we need to do is tell babel
to use Language=Default
with Script=Latin
for English while continuing to use Language=Arabic
with Script=Arabic
for Algerian Arabic.
To do this, remove english
from the main babel
options and instead load it like this:
babelprovide[import,language=Default]{english}
Note: babel
uses language
with a lowercase l
as opposed to fontspec
which uses Language
!
babel
will now load Amiri with supported options for English text and no warning is issued.
MWE
documentclass[hyperref=unicode]{beamer}
usepackage[nil,bidi=basic-r]{babel}
babelprovide[import=ar-DZ, main]{arabic}
babelprovide[import, language=Default]{english}
babelfont{rm}{Amiri}
babelfont{sf}{Amiri}
begin{document}
begin{frame}{}
today
end{frame}
begin{frame}{}
selectlanguage{english}
today
end{frame}
end{document}
add a comment |
This bugged me for a long time too. This is what is going on:
These are the scripts and languages supported by Amiri:
DFLT Default
arab Arabic
arab.ARA Arabic/Arabic
arab.KSH Arabic/Kashmiri
arab.SND Arabic/Sindhi
arab.URD Arabic/Urdu
latn Latin
latn.TRK Latin/Turkish
When you load Arabic with babelprovide[import=ar-DZ, main]{arabic}
then babel
reads in babel-ar-DZ.ini
.
In this file you will find (among other things):
tag.opentype = ARA
script.tag.opentype = arab
So when Algerian Arabic is the language in use, babel
will load Amiri with arab.ARA
script and language. This exists in the font, so all is good.
But babel-en.ini
contains this:
tag.opentype = ENG
script.tag.opentype = latn
So when English is in use, babel
will try and load Amiri with latn.ENG
script and language. Except this combination does not exist in the font, so a warning is issued by babel
:
Language 'English' not available for font 'Amiri' with script 'Latin'.
Now all we need to do is tell babel
to use Language=Default
with Script=Latin
for English while continuing to use Language=Arabic
with Script=Arabic
for Algerian Arabic.
To do this, remove english
from the main babel
options and instead load it like this:
babelprovide[import,language=Default]{english}
Note: babel
uses language
with a lowercase l
as opposed to fontspec
which uses Language
!
babel
will now load Amiri with supported options for English text and no warning is issued.
MWE
documentclass[hyperref=unicode]{beamer}
usepackage[nil,bidi=basic-r]{babel}
babelprovide[import=ar-DZ, main]{arabic}
babelprovide[import, language=Default]{english}
babelfont{rm}{Amiri}
babelfont{sf}{Amiri}
begin{document}
begin{frame}{}
today
end{frame}
begin{frame}{}
selectlanguage{english}
today
end{frame}
end{document}
This bugged me for a long time too. This is what is going on:
These are the scripts and languages supported by Amiri:
DFLT Default
arab Arabic
arab.ARA Arabic/Arabic
arab.KSH Arabic/Kashmiri
arab.SND Arabic/Sindhi
arab.URD Arabic/Urdu
latn Latin
latn.TRK Latin/Turkish
When you load Arabic with babelprovide[import=ar-DZ, main]{arabic}
then babel
reads in babel-ar-DZ.ini
.
In this file you will find (among other things):
tag.opentype = ARA
script.tag.opentype = arab
So when Algerian Arabic is the language in use, babel
will load Amiri with arab.ARA
script and language. This exists in the font, so all is good.
But babel-en.ini
contains this:
tag.opentype = ENG
script.tag.opentype = latn
So when English is in use, babel
will try and load Amiri with latn.ENG
script and language. Except this combination does not exist in the font, so a warning is issued by babel
:
Language 'English' not available for font 'Amiri' with script 'Latin'.
Now all we need to do is tell babel
to use Language=Default
with Script=Latin
for English while continuing to use Language=Arabic
with Script=Arabic
for Algerian Arabic.
To do this, remove english
from the main babel
options and instead load it like this:
babelprovide[import,language=Default]{english}
Note: babel
uses language
with a lowercase l
as opposed to fontspec
which uses Language
!
babel
will now load Amiri with supported options for English text and no warning is issued.
MWE
documentclass[hyperref=unicode]{beamer}
usepackage[nil,bidi=basic-r]{babel}
babelprovide[import=ar-DZ, main]{arabic}
babelprovide[import, language=Default]{english}
babelfont{rm}{Amiri}
babelfont{sf}{Amiri}
begin{document}
begin{frame}{}
today
end{frame}
begin{frame}{}
selectlanguage{english}
today
end{frame}
end{document}
answered Mar 9 at 6:55
David PurtonDavid Purton
11.3k2944
11.3k2944
add a comment |
add a comment |
You can set the language to default:
documentclass[hyperref=unicode]{beamer}
usepackage[english,nil,bidi=basic-r]{babel}
babelprovide[import=ar-DZ, main]{arabic}
babelfont{rm}[Language=Default]{Amiri}
babelfont{sf}[Language=Default]{Amiri}
begin{document}
begin{frame}{}
today
end{frame}
begin{frame}{}
selectlanguage{english}
today
end{frame}
end{document}
4
Won't that change the language for both English and Arabic to Default?ar-DZ
asks forScript=Arabic
andLanguage=Arabic
. I thought it was better to dropenglish
out of thebabel
options and instead add inbabelprovide[import,language=Default]{english}
. This only changes the Language to Default for English text and leaves it as Arabic for Arabic text. (I'm not familiar enough with Arabic to know if this actually makes a difference in this case, but surely it would sometimes?)
– David Purton
Mar 9 at 6:31
1
Ulrike, David is right. This appliesLanguage=Default
to all languages, potentially breaking font features specific to some languages.
– Javier Bezos
Mar 9 at 8:13
add a comment |
You can set the language to default:
documentclass[hyperref=unicode]{beamer}
usepackage[english,nil,bidi=basic-r]{babel}
babelprovide[import=ar-DZ, main]{arabic}
babelfont{rm}[Language=Default]{Amiri}
babelfont{sf}[Language=Default]{Amiri}
begin{document}
begin{frame}{}
today
end{frame}
begin{frame}{}
selectlanguage{english}
today
end{frame}
end{document}
4
Won't that change the language for both English and Arabic to Default?ar-DZ
asks forScript=Arabic
andLanguage=Arabic
. I thought it was better to dropenglish
out of thebabel
options and instead add inbabelprovide[import,language=Default]{english}
. This only changes the Language to Default for English text and leaves it as Arabic for Arabic text. (I'm not familiar enough with Arabic to know if this actually makes a difference in this case, but surely it would sometimes?)
– David Purton
Mar 9 at 6:31
1
Ulrike, David is right. This appliesLanguage=Default
to all languages, potentially breaking font features specific to some languages.
– Javier Bezos
Mar 9 at 8:13
add a comment |
You can set the language to default:
documentclass[hyperref=unicode]{beamer}
usepackage[english,nil,bidi=basic-r]{babel}
babelprovide[import=ar-DZ, main]{arabic}
babelfont{rm}[Language=Default]{Amiri}
babelfont{sf}[Language=Default]{Amiri}
begin{document}
begin{frame}{}
today
end{frame}
begin{frame}{}
selectlanguage{english}
today
end{frame}
end{document}
You can set the language to default:
documentclass[hyperref=unicode]{beamer}
usepackage[english,nil,bidi=basic-r]{babel}
babelprovide[import=ar-DZ, main]{arabic}
babelfont{rm}[Language=Default]{Amiri}
babelfont{sf}[Language=Default]{Amiri}
begin{document}
begin{frame}{}
today
end{frame}
begin{frame}{}
selectlanguage{english}
today
end{frame}
end{document}
answered Mar 8 at 23:10
Ulrike FischerUlrike Fischer
199k9306692
199k9306692
4
Won't that change the language for both English and Arabic to Default?ar-DZ
asks forScript=Arabic
andLanguage=Arabic
. I thought it was better to dropenglish
out of thebabel
options and instead add inbabelprovide[import,language=Default]{english}
. This only changes the Language to Default for English text and leaves it as Arabic for Arabic text. (I'm not familiar enough with Arabic to know if this actually makes a difference in this case, but surely it would sometimes?)
– David Purton
Mar 9 at 6:31
1
Ulrike, David is right. This appliesLanguage=Default
to all languages, potentially breaking font features specific to some languages.
– Javier Bezos
Mar 9 at 8:13
add a comment |
4
Won't that change the language for both English and Arabic to Default?ar-DZ
asks forScript=Arabic
andLanguage=Arabic
. I thought it was better to dropenglish
out of thebabel
options and instead add inbabelprovide[import,language=Default]{english}
. This only changes the Language to Default for English text and leaves it as Arabic for Arabic text. (I'm not familiar enough with Arabic to know if this actually makes a difference in this case, but surely it would sometimes?)
– David Purton
Mar 9 at 6:31
1
Ulrike, David is right. This appliesLanguage=Default
to all languages, potentially breaking font features specific to some languages.
– Javier Bezos
Mar 9 at 8:13
4
4
Won't that change the language for both English and Arabic to Default?
ar-DZ
asks for Script=Arabic
and Language=Arabic
. I thought it was better to drop english
out of the babel
options and instead add in babelprovide[import,language=Default]{english}
. This only changes the Language to Default for English text and leaves it as Arabic for Arabic text. (I'm not familiar enough with Arabic to know if this actually makes a difference in this case, but surely it would sometimes?)– David Purton
Mar 9 at 6:31
Won't that change the language for both English and Arabic to Default?
ar-DZ
asks for Script=Arabic
and Language=Arabic
. I thought it was better to drop english
out of the babel
options and instead add in babelprovide[import,language=Default]{english}
. This only changes the Language to Default for English text and leaves it as Arabic for Arabic text. (I'm not familiar enough with Arabic to know if this actually makes a difference in this case, but surely it would sometimes?)– David Purton
Mar 9 at 6:31
1
1
Ulrike, David is right. This applies
Language=Default
to all languages, potentially breaking font features specific to some languages.– Javier Bezos
Mar 9 at 8:13
Ulrike, David is right. This applies
Language=Default
to all languages, potentially breaking font features specific to some languages.– Javier Bezos
Mar 9 at 8:13
add a comment |
Nothing wrong, on the contrary. These warnings are shown by fontspec
, not by babel
. They could be irrelevant for English, but not for many other languages, including Arabic. To remove them altogether (they are only really useful when the document format is being set up), you may pass the silent
option to fontspec
:
usepackage[english,nil,bidi=basic-r]{babel}
babelprovide[import=ar-DZ, main]{arabic}
PassOptionsToPackage{silent}{fontspec}
babelfont{rm}{Amiri}
babelfont{sf}{Amiri}
Or also:
usepackage[english,nil,bidi=basic-r]{babel}
babelprovide[import=ar-DZ, main]{arabic}
usepackage[silent]{fontspec}
babelfont{rm}{Amiri}
babelfont{sf}{Amiri}
Edit. A 3rd option is to pass silent
as a class option.
Personally, I would only do this as a last resort. Sometimes,fontspec
warns about something important.
– Davislor
Apr 1 at 16:47
add a comment |
Nothing wrong, on the contrary. These warnings are shown by fontspec
, not by babel
. They could be irrelevant for English, but not for many other languages, including Arabic. To remove them altogether (they are only really useful when the document format is being set up), you may pass the silent
option to fontspec
:
usepackage[english,nil,bidi=basic-r]{babel}
babelprovide[import=ar-DZ, main]{arabic}
PassOptionsToPackage{silent}{fontspec}
babelfont{rm}{Amiri}
babelfont{sf}{Amiri}
Or also:
usepackage[english,nil,bidi=basic-r]{babel}
babelprovide[import=ar-DZ, main]{arabic}
usepackage[silent]{fontspec}
babelfont{rm}{Amiri}
babelfont{sf}{Amiri}
Edit. A 3rd option is to pass silent
as a class option.
Personally, I would only do this as a last resort. Sometimes,fontspec
warns about something important.
– Davislor
Apr 1 at 16:47
add a comment |
Nothing wrong, on the contrary. These warnings are shown by fontspec
, not by babel
. They could be irrelevant for English, but not for many other languages, including Arabic. To remove them altogether (they are only really useful when the document format is being set up), you may pass the silent
option to fontspec
:
usepackage[english,nil,bidi=basic-r]{babel}
babelprovide[import=ar-DZ, main]{arabic}
PassOptionsToPackage{silent}{fontspec}
babelfont{rm}{Amiri}
babelfont{sf}{Amiri}
Or also:
usepackage[english,nil,bidi=basic-r]{babel}
babelprovide[import=ar-DZ, main]{arabic}
usepackage[silent]{fontspec}
babelfont{rm}{Amiri}
babelfont{sf}{Amiri}
Edit. A 3rd option is to pass silent
as a class option.
Nothing wrong, on the contrary. These warnings are shown by fontspec
, not by babel
. They could be irrelevant for English, but not for many other languages, including Arabic. To remove them altogether (they are only really useful when the document format is being set up), you may pass the silent
option to fontspec
:
usepackage[english,nil,bidi=basic-r]{babel}
babelprovide[import=ar-DZ, main]{arabic}
PassOptionsToPackage{silent}{fontspec}
babelfont{rm}{Amiri}
babelfont{sf}{Amiri}
Or also:
usepackage[english,nil,bidi=basic-r]{babel}
babelprovide[import=ar-DZ, main]{arabic}
usepackage[silent]{fontspec}
babelfont{rm}{Amiri}
babelfont{sf}{Amiri}
Edit. A 3rd option is to pass silent
as a class option.
edited Apr 1 at 14:21
answered Mar 9 at 7:50
Javier BezosJavier Bezos
3,9151216
3,9151216
Personally, I would only do this as a last resort. Sometimes,fontspec
warns about something important.
– Davislor
Apr 1 at 16:47
add a comment |
Personally, I would only do this as a last resort. Sometimes,fontspec
warns about something important.
– Davislor
Apr 1 at 16:47
Personally, I would only do this as a last resort. Sometimes,
fontspec
warns about something important.– Davislor
Apr 1 at 16:47
Personally, I would only do this as a last resort. Sometimes,
fontspec
warns about something important.– Davislor
Apr 1 at 16:47
add a comment |
First, you can ignore this warning. It’s harmless. (However, I agree that it’s good practice to suppress meaningless warnings so that you don’t miss meaningful ones.)
David Purton’s answer is very elegant, but there is one situation where you might need something more complex: if you’re loading different fonts for the same language that require different options. For example, a babelfont[chinese-traditional]{rm}
might support Language=Chinese Traditional
and a babelfont[chinese-traditional]{sf}
might support CJKShape = Traditional
instead. More immediately, some Arabic fonts (including Noto Sans Arabic) do not support Language=Arabic
.
In this case, you need to pass different fontspec
options to the babelfont
command:
babelfont{rm}[Scale=1.0]{Amiri}
babelfont[english]{rm}[Language=Default]{Amiri}
However, a great multilingual companion font for Khaled Hosny’s Amiri is another of his font families, Libertinus. He based Libertinus Serif on Linux Libertine and Libertinus Sans on Linux Biolinum. I’ll let him speak as to the inspiration for the Latin letters in Amiri, but they’re a close match. There is also a math font that you can select with unicode-math
.
If you want to enable all the font features of these fonts, you might try the following:
documentclass[hyperref=unicode]{beamer}
usepackage[nil,bidi=basic-r]{babel}
babelprovide[import=ar-DZ, main]{arabic}
babelprovide[import=en, language=Default]{english}
babelfont{rm}[Scale=1.0,
Ligatures={Common, TeX},
UprightFeatures={Ligatures=Discretionary},
Numbers={OldStyle,Proportional}
]{Libertinus Serif}
babelfont{sf}[Scale=MatchLowercase,
Ligatures=TeX,
UprightFeatures={Ligatures={Common, Discretionary}},
BoldFeatures={Ligatures=Common}
]{Libertinus Sans}
babelfont[arabic]{rm}[Scale=MatchLowercase,
Ligatures={Common, TeX},
Contextuals={WordInitial,WordFinal,Inner}
]{Amiri}
You can use the superscripts OpenType feature with the realscripts
package.
Note that, due to a bug, Babel 3.27 and below ignores defaultfontfeatures
in babelfont
. I’ve worked around the bug here, but a fix is making its way into the release tree.
At this point, because beamer
uses sans-serif fonts by default, you need to define babelfont[arabic]{sf}
. You can either copy the lines for babelfont[arabic]{rm}
or load a sans-serif Arabic font, e.g.:
babelfont[arabic]{sf}[Scale=MatchLowercase,
Ligatures=Discretionary,
Language=Default
]{Noto Sans Arabic}
add a comment |
First, you can ignore this warning. It’s harmless. (However, I agree that it’s good practice to suppress meaningless warnings so that you don’t miss meaningful ones.)
David Purton’s answer is very elegant, but there is one situation where you might need something more complex: if you’re loading different fonts for the same language that require different options. For example, a babelfont[chinese-traditional]{rm}
might support Language=Chinese Traditional
and a babelfont[chinese-traditional]{sf}
might support CJKShape = Traditional
instead. More immediately, some Arabic fonts (including Noto Sans Arabic) do not support Language=Arabic
.
In this case, you need to pass different fontspec
options to the babelfont
command:
babelfont{rm}[Scale=1.0]{Amiri}
babelfont[english]{rm}[Language=Default]{Amiri}
However, a great multilingual companion font for Khaled Hosny’s Amiri is another of his font families, Libertinus. He based Libertinus Serif on Linux Libertine and Libertinus Sans on Linux Biolinum. I’ll let him speak as to the inspiration for the Latin letters in Amiri, but they’re a close match. There is also a math font that you can select with unicode-math
.
If you want to enable all the font features of these fonts, you might try the following:
documentclass[hyperref=unicode]{beamer}
usepackage[nil,bidi=basic-r]{babel}
babelprovide[import=ar-DZ, main]{arabic}
babelprovide[import=en, language=Default]{english}
babelfont{rm}[Scale=1.0,
Ligatures={Common, TeX},
UprightFeatures={Ligatures=Discretionary},
Numbers={OldStyle,Proportional}
]{Libertinus Serif}
babelfont{sf}[Scale=MatchLowercase,
Ligatures=TeX,
UprightFeatures={Ligatures={Common, Discretionary}},
BoldFeatures={Ligatures=Common}
]{Libertinus Sans}
babelfont[arabic]{rm}[Scale=MatchLowercase,
Ligatures={Common, TeX},
Contextuals={WordInitial,WordFinal,Inner}
]{Amiri}
You can use the superscripts OpenType feature with the realscripts
package.
Note that, due to a bug, Babel 3.27 and below ignores defaultfontfeatures
in babelfont
. I’ve worked around the bug here, but a fix is making its way into the release tree.
At this point, because beamer
uses sans-serif fonts by default, you need to define babelfont[arabic]{sf}
. You can either copy the lines for babelfont[arabic]{rm}
or load a sans-serif Arabic font, e.g.:
babelfont[arabic]{sf}[Scale=MatchLowercase,
Ligatures=Discretionary,
Language=Default
]{Noto Sans Arabic}
add a comment |
First, you can ignore this warning. It’s harmless. (However, I agree that it’s good practice to suppress meaningless warnings so that you don’t miss meaningful ones.)
David Purton’s answer is very elegant, but there is one situation where you might need something more complex: if you’re loading different fonts for the same language that require different options. For example, a babelfont[chinese-traditional]{rm}
might support Language=Chinese Traditional
and a babelfont[chinese-traditional]{sf}
might support CJKShape = Traditional
instead. More immediately, some Arabic fonts (including Noto Sans Arabic) do not support Language=Arabic
.
In this case, you need to pass different fontspec
options to the babelfont
command:
babelfont{rm}[Scale=1.0]{Amiri}
babelfont[english]{rm}[Language=Default]{Amiri}
However, a great multilingual companion font for Khaled Hosny’s Amiri is another of his font families, Libertinus. He based Libertinus Serif on Linux Libertine and Libertinus Sans on Linux Biolinum. I’ll let him speak as to the inspiration for the Latin letters in Amiri, but they’re a close match. There is also a math font that you can select with unicode-math
.
If you want to enable all the font features of these fonts, you might try the following:
documentclass[hyperref=unicode]{beamer}
usepackage[nil,bidi=basic-r]{babel}
babelprovide[import=ar-DZ, main]{arabic}
babelprovide[import=en, language=Default]{english}
babelfont{rm}[Scale=1.0,
Ligatures={Common, TeX},
UprightFeatures={Ligatures=Discretionary},
Numbers={OldStyle,Proportional}
]{Libertinus Serif}
babelfont{sf}[Scale=MatchLowercase,
Ligatures=TeX,
UprightFeatures={Ligatures={Common, Discretionary}},
BoldFeatures={Ligatures=Common}
]{Libertinus Sans}
babelfont[arabic]{rm}[Scale=MatchLowercase,
Ligatures={Common, TeX},
Contextuals={WordInitial,WordFinal,Inner}
]{Amiri}
You can use the superscripts OpenType feature with the realscripts
package.
Note that, due to a bug, Babel 3.27 and below ignores defaultfontfeatures
in babelfont
. I’ve worked around the bug here, but a fix is making its way into the release tree.
At this point, because beamer
uses sans-serif fonts by default, you need to define babelfont[arabic]{sf}
. You can either copy the lines for babelfont[arabic]{rm}
or load a sans-serif Arabic font, e.g.:
babelfont[arabic]{sf}[Scale=MatchLowercase,
Ligatures=Discretionary,
Language=Default
]{Noto Sans Arabic}
First, you can ignore this warning. It’s harmless. (However, I agree that it’s good practice to suppress meaningless warnings so that you don’t miss meaningful ones.)
David Purton’s answer is very elegant, but there is one situation where you might need something more complex: if you’re loading different fonts for the same language that require different options. For example, a babelfont[chinese-traditional]{rm}
might support Language=Chinese Traditional
and a babelfont[chinese-traditional]{sf}
might support CJKShape = Traditional
instead. More immediately, some Arabic fonts (including Noto Sans Arabic) do not support Language=Arabic
.
In this case, you need to pass different fontspec
options to the babelfont
command:
babelfont{rm}[Scale=1.0]{Amiri}
babelfont[english]{rm}[Language=Default]{Amiri}
However, a great multilingual companion font for Khaled Hosny’s Amiri is another of his font families, Libertinus. He based Libertinus Serif on Linux Libertine and Libertinus Sans on Linux Biolinum. I’ll let him speak as to the inspiration for the Latin letters in Amiri, but they’re a close match. There is also a math font that you can select with unicode-math
.
If you want to enable all the font features of these fonts, you might try the following:
documentclass[hyperref=unicode]{beamer}
usepackage[nil,bidi=basic-r]{babel}
babelprovide[import=ar-DZ, main]{arabic}
babelprovide[import=en, language=Default]{english}
babelfont{rm}[Scale=1.0,
Ligatures={Common, TeX},
UprightFeatures={Ligatures=Discretionary},
Numbers={OldStyle,Proportional}
]{Libertinus Serif}
babelfont{sf}[Scale=MatchLowercase,
Ligatures=TeX,
UprightFeatures={Ligatures={Common, Discretionary}},
BoldFeatures={Ligatures=Common}
]{Libertinus Sans}
babelfont[arabic]{rm}[Scale=MatchLowercase,
Ligatures={Common, TeX},
Contextuals={WordInitial,WordFinal,Inner}
]{Amiri}
You can use the superscripts OpenType feature with the realscripts
package.
Note that, due to a bug, Babel 3.27 and below ignores defaultfontfeatures
in babelfont
. I’ve worked around the bug here, but a fix is making its way into the release tree.
At this point, because beamer
uses sans-serif fonts by default, you need to define babelfont[arabic]{sf}
. You can either copy the lines for babelfont[arabic]{rm}
or load a sans-serif Arabic font, e.g.:
babelfont[arabic]{sf}[Scale=MatchLowercase,
Ligatures=Discretionary,
Language=Default
]{Noto Sans Arabic}
edited Apr 1 at 16:48
answered Apr 1 at 16:35
DavislorDavislor
7,3641432
7,3641432
add a comment |
add a comment |
Thanks for contributing an answer to TeX - LaTeX Stack Exchange!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2ftex.stackexchange.com%2fquestions%2f478487%2favoid-fontspec-warning-with-babel%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Why this warning keep showing?
– Salim Bou
Mar 8 at 21:39
Sorry @Salim, I noticed the warning now. You are right. But I don't know.
– ferahfeza
Mar 8 at 21:41