Skip to content

Commit 8849764

Browse files
committed
Fallback to font width of 'm' if char width data is missing
1 parent ea71a32 commit 8849764

File tree

1 file changed

+8
-1
lines changed

1 file changed

+8
-1
lines changed

modules/badge/badge.go

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@
44
package badge
55

66
import (
7+
"unicode"
8+
79
actions_model "code.gitea.io/gitea/models/actions"
810
)
911

@@ -90,7 +92,12 @@ func calculateTextWidth(text string) int {
9092
for _, char := range text {
9193
charWidth, ok := DejaVuFontWidthData[char]
9294
if !ok {
93-
charWidth = 0
95+
// use the width of 'm' in case of missing font width data for a printable character
96+
if unicode.IsPrint(char) {
97+
charWidth = DejaVuFontWidthData['m']
98+
} else {
99+
charWidth = 0
100+
}
94101
}
95102
width += int(charWidth)
96103
}

0 commit comments

Comments
 (0)