summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/generic/babel-french/frenchb.lua
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/generic/babel-french/frenchb.lua')
-rw-r--r--Master/texmf-dist/tex/generic/babel-french/frenchb.lua23
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))