diff options
Diffstat (limited to 'Master/texmf-dist/tex/generic/babel-french/frenchb.lua')
-rw-r--r-- | Master/texmf-dist/tex/generic/babel-french/frenchb.lua | 23 |
1 files changed, 13 insertions, 10 deletions
diff --git a/Master/texmf-dist/tex/generic/babel-french/frenchb.lua b/Master/texmf-dist/tex/generic/babel-french/frenchb.lua index d117f60a2a0..8fea2ed965b 100644 --- a/Master/texmf-dist/tex/generic/babel-french/frenchb.lua +++ b/Master/texmf-dist/tex/generic/babel-french/frenchb.lua @@ -1,5 +1,5 @@ -- --- File `frenchb.lua' generated from frenchb.dtx [2014/09/16 v3.1b] +-- File `frenchb.lua' generated from frenchb.dtx [2014/10/25 v3.1c] -- -- Copyright (C) 2014 Daniel Flipo <daniel.flipo at free.fr> -- License LPPL: see frenchb.dtx. @@ -99,22 +99,25 @@ local function french_punctuation (head) glue_spec = prev.spec glue_wd = glue_spec.width end - glue = glue and glue_wd > 0 - if (FB_punct_thin[char] or FB_punct_thick[char]) then + local realglue = glue and glue_wd > 1 + if FB_punct_thin[char] or FB_punct_thick[char] then local SBDP = has_attribute(item, addDPspace) + local auto = SBDP and SBDP > 0 + if auto then + if (prev_char and FB_punct_null[prev_char]) or + (glue and glue_wd <= 1) or + (prev_id == 0 and prev_subtype == 3) then + auto = false + end + end local fbglue if FB_punct_thick[char] then fbglue = new_glue_scaled(fid,colnwd,colnst,colnsh) else fbglue = new_glue_scaled(fid,thinwd,thinst,thinsh) end - local auto = - SBDP and SBDP > 0 and - ((prev_char and not FB_punct_null[prev_char]) or - (not prev_char and (prev_id ~= 0 or prev_subtype ~= 3)) - ) - if glue or auto then - if glue then + if realglue or auto then + if realglue then head = remove_node(head,prev,true) end insert_node_before(head, item, copy_node(nobreak)) |