diff --git a/d2target/d2target.go b/d2target/d2target.go
index 882f307d7..762f5a3d7 100644
--- a/d2target/d2target.go
+++ b/d2target/d2target.go
@@ -267,7 +267,7 @@ func (diagram Diagram) GetCorpus() string {
if s.Type == ShapeSQLTable {
for _, c := range s.Columns {
for _, t := range c.Texts(0) {
- corpus = corpus + t.Text
+ corpus += t.Text
}
corpus += c.ConstraintAbbr()
}
@@ -275,6 +275,8 @@ func (diagram Diagram) GetCorpus() string {
}
for _, c := range diagram.Connections {
corpus += c.Label
+ corpus += c.SrcLabel
+ corpus += c.DstLabel
}
return corpus
diff --git a/e2etests-cli/testdata/TestCLI_E2E/internal_linked_pdf.exp.pdf b/e2etests-cli/testdata/TestCLI_E2E/internal_linked_pdf.exp.pdf
index 154e07c20..0a7092a32 100644
Binary files a/e2etests-cli/testdata/TestCLI_E2E/internal_linked_pdf.exp.pdf and b/e2etests-cli/testdata/TestCLI_E2E/internal_linked_pdf.exp.pdf differ
diff --git a/e2etests/testdata/stable/arrowhead_adjustment/dagre/sketch.exp.svg b/e2etests/testdata/stable/arrowhead_adjustment/dagre/sketch.exp.svg
index 3c2ccbbd6..71831b7b5 100644
--- a/e2etests/testdata/stable/arrowhead_adjustment/dagre/sketch.exp.svg
+++ b/e2etests/testdata/stable/arrowhead_adjustment/dagre/sketch.exp.svg
@@ -4,14 +4,14 @@
}
@font-face {
font-family: d2-1296221605-font-bold;
- src: url("data:application/font-woff;base64,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");
+ src: url("data:application/font-woff;base64,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");
}
.d2-1296221605 .text-italic {
font-family: "d2-1296221605-font-italic";
}
@font-face {
font-family: d2-1296221605-font-italic;
- src: url("data:application/font-woff;base64,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");
+ src: url("data:application/font-woff;base64,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");
}]]>