You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
tex-compiler/texmf-dist/tex/latex/polyglossia/polyglossia-french.lua

53 lines
1.6 KiB

require('polyglossia-punct')
local function set_left_space(lang, char, kern, rubber)
polyglossia.add_left_spaced_character(lang, char, kern, "space", rubber)
end
local function set_right_space(lang, char, kern, rubber)
polyglossia.add_right_spaced_character(lang, char, kern, "space", rubber)
end
local function activate_french_punct(thincolonspace, autospaceguillemets)
-- We need different language tags here to make switching of options possible
-- within a paragraph.
local lang = "french"
if thincolonspace then
lang = lang.."-thincolon"
end
if autospaceguillemets then
lang = lang.."-autospace"
end
polyglossia.activate_punct(lang)
polyglossia.clear_spaced_characters(lang)
if thincolonspace then
set_left_space(lang, ':', 0.5)
else
set_left_space(lang, ':', 1, true) -- stretchable and shrinkable space
end
set_left_space(lang, '!', 0.5)
set_left_space(lang, '?', 0.5)
set_left_space(lang, ';', 0.5)
set_left_space(lang, '', 0.5)
set_left_space(lang, '', 0.5)
set_left_space(lang, '', 0.5)
set_left_space(lang, '', 0.5)
set_left_space(lang, '', 0.5) -- U+203D (interrobang)
if autospaceguillemets then
set_left_space(lang, '»', 0.5)
set_left_space(lang, '', 0.5)
set_right_space(lang, '«', 0.5)
set_right_space(lang, '', 0.5)
end
end
local function deactivate_french_punct()
polyglossia.deactivate_punct()
end
polyglossia.activate_french_punct = activate_french_punct
polyglossia.deactivate_french_punct = deactivate_french_punct