speedata / publisher

speedata Publisher - a professional database Publishing system
https://www.speedata.de/
GNU Affero General Public License v3.0
292 stars 36 forks source link

hyphen gives wrong border #449

Closed pr-apes closed 1 year ago

pr-apes commented 1 year ago

@pgundlach,

the following source:

<Layout
    xmlns="urn:speedata.de:2009/publisher/en"
    xmlns:sd="urn:speedata:2009/publisher/functions/en">
<PDFOptions showhyperlinks ="yes" />

<Record element="data">
<Output>
<Text>
    <Paragraph>
      <A href="https://a-b.c"><Value>https://a-b.c</Value></A>
    </Paragraph>
</Text>
</Output>
</Record>
</Layout>

Gives wrong border (before the hyphen:

Sin título-fs8

Could you take a look at this?

Many thanks for your help.

pgundlach commented 1 year ago

I'll take a look, thank you (I'll also fix the other issues today)

pgundlach commented 1 year ago

Included in 4.13.4

pr-apes commented 1 year ago

Many thanks for the fix.

pr-apes commented 1 year ago

Sorry, but I'm afraid that the patch hasn't fixed the issue,

I get a border before the hyphen (as in the original image).

Many thanks for your help.

pgundlach commented 1 year ago

I think you have to send me the PDF and perhaps the publisher.protocol (in --verbose mode). Can you double check the version number? It works here without problems.

This is the commit that fixes the problem: 4069a4d1bdd86b72fe83f43dbdcba561e3b6a40c - is it included in the source tree?

pr-apes commented 1 year ago

I double-checked the version number: 4.13.4 and results are still the same.

The commit 4069a4d1bdd86b72fe83f43dbdcba561e3b6a40c is included in my source tree.

Contents of publisher.protocol (with --verbose):

Protocol file for speedata Publisher (4.13.4)
Time: Tue Nov 22 12:27:01 2022
---------------------------------------------
Load file: "publisher.lua" ...
Load file: "commands.lua" ...
Load file: "fonts.lua" ...
Load file: "fontloader.lua" ...
Load file: "fontloader.lua" ... done
Load file: "fonts.lua" ... done
Load file: "tabular.lua" ...
Load file: "tabular.lua" ... done
Load file: "par.lua" ...
Load file: "par.lua" ... done
Load file: "commands.lua" ... done
Load file: "grid.lua" ...
Load file: "grid.lua" ... done
Load file: "box.lua" ...
Load file: "box.lua" ... done
Load file: "layout_functions.lua" ...
Load file: "layout_functions.lua" ... done
Load file: "publisher.lua" ... done
Start processing
Running LuaTeX version 1.13.2 on windows
Loading hyphenation patterns "hyph-en-gb.pat.txt".
Language id: 0
Preload font "texgyreheros-regular.otf" at 10pt (id: 1)
Preload font "texgyreheros-regular.otf" at 8pt (id: 2)
Preload font "texgyreheros-bold.otf" at 10pt (id: 3)
Preload font "texgyreheros-bold.otf" at 8pt (id: 4)
Preload font "texgyreheros-italic.otf" at 10pt (id: 5)
Preload font "texgyreheros-italic.otf" at 8pt (id: 6)
Preload font "texgyreheros-bolditalic.otf" at 10pt (id: 7)
Preload font "texgyreheros-bolditalic.otf" at 8pt (id: 8)
DefineFontfamily "text" size 10pt/12pt id: 1
Using old Lua based XML reader
filename "layout.xml", md5sum: a816a247e2264ad5f3e9e631f286f19e
Loading layout instructions "D:\\User\\user\\Desktop\\helloworld\\layout.xml"
Call "PDFOptions" from layout
Call "Record" from layout
Using old Lua based XML reader
filename "publisher-aux.xml", md5sum: 81c05dd1e89a65fc2a8a31348f5ccb7c
Loading aux file "D:\\User\\user\\Desktop\\helloworld\\publisher-aux.xml"
Call "Output" from layout
Page of type "Default Page" created (1)
Number of rows: 28, number of columns = 19
Call "Text" from layout
Call "Paragraph" from layout
Call "A" from layout
Call "Value" from layout
Create font metrics for "texgyreheros-regular.otf" at 10pt (id: 1) mode=fontforge
Stop processing data
0 errors occurred
Duration: 0.063006 seconds
---------------------------------------------
Duration: 0.063006 seconds

Resulting PDF document.

pgundlach commented 1 year ago

Thank you! I've found the problem. Line 4678 must include setstyles(disc,parameter).

diff --git a/src/lua/publisher.lua b/src/lua/publisher.lua
index 91704ab1..3a739f59 100644
--- a/src/lua/publisher.lua
+++ b/src/lua/publisher.lua
@@ -4674,6 +4674,7 @@ local function ffglyphlist(arguments)
                 local disc = node.new("disc")
                 head,last = node.insert_after(head,last,disc)
                 local g = set_glue(nil)
+                setstyles(pen,parameter)
                 setstyles(disc,parameter)
                 setstyles(g,parameter)
                 head,last = node.insert_after(head,last,g)

Do you need a new version now or can you patch it yourself?

pr-apes commented 1 year ago

I can patch it myself.

Many thanks for your help.