generated from VLADIMIR/template
up
This commit is contained in:
@@ -84,15 +84,6 @@ func Generate(cards []Card) ([]byte, error) {
|
||||
}
|
||||
x := margin + float64(i%columns)*width
|
||||
y := margin + float64(i%perPage/columns)*height
|
||||
bitmap := qr.Bitmap()
|
||||
pixel := qrSize / float64(len(bitmap))
|
||||
for row, cells := range bitmap {
|
||||
for col, black := range cells {
|
||||
if black {
|
||||
pdf.Rect(x+(width-qrSize)/2+float64(col)*pixel, y+3+float64(row)*pixel, pixel, pixel, "F")
|
||||
}
|
||||
}
|
||||
}
|
||||
name := strings.Join(strings.Fields(card.Name), " ")
|
||||
for _, r := range name {
|
||||
if r > 0xffff {
|
||||
@@ -105,6 +96,15 @@ func Generate(cards []Card) ([]byte, error) {
|
||||
instructions = append(instructions, pdf.SplitText(paragraph, width-6)...)
|
||||
}
|
||||
instructionHeight := float64(len(instructions)) * 3.3
|
||||
bitmap := qr.Bitmap()
|
||||
pixel := qrSize / float64(len(bitmap))
|
||||
for row, cells := range bitmap {
|
||||
for col, black := range cells {
|
||||
if black {
|
||||
pdf.Rect(x+(width-qrSize)/2+float64(col)*pixel, y+3+instructionHeight+float64(row)*pixel, pixel, pixel, "F")
|
||||
}
|
||||
}
|
||||
}
|
||||
var lines []string
|
||||
var lineHeight float64
|
||||
for size := 12.0; size >= 6; size-- {
|
||||
@@ -119,12 +119,12 @@ func Generate(cards []Card) ([]byte, error) {
|
||||
return nil, fmt.Errorf("название команды %d не помещается на карточке (%d строк, %f мм)", i+1, len(lines), lineHeight)
|
||||
}
|
||||
for line, text := range lines {
|
||||
pdf.SetXY(x+3, y+qrSize+5+float64(line)*lineHeight)
|
||||
pdf.SetXY(x+3, y+instructionHeight+qrSize+5+float64(line)*lineHeight)
|
||||
pdf.CellFormat(width-6, lineHeight, text, "", 0, "C", false, 0, "")
|
||||
}
|
||||
pdf.SetFont("teams", "", 8)
|
||||
for line, text := range instructions {
|
||||
pdf.SetXY(x+3, y+qrSize+5+float64(len(lines))*lineHeight+float64(line)*3.3)
|
||||
pdf.SetXY(x+3, y+3+float64(line)*3.3)
|
||||
pdf.CellFormat(width-6, 3.3, text, "", 0, "L", false, 0, "")
|
||||
}
|
||||
}
|
||||
|
||||
@@ -51,9 +51,9 @@ func WiFiInstructions(name, password string) []string {
|
||||
access = "Пароль: «" + password + "»"
|
||||
}
|
||||
return []string{
|
||||
"1. Подключитесь к Wi-Fi «" + name + "».",
|
||||
"Подключитесь к Wi-Fi «" + name + "».",
|
||||
access,
|
||||
"2. Отсканируйте QR-код команды.",
|
||||
"Если телефон сообщает, что сеть без интернета, оставайтесь подключены.",
|
||||
"Оставайтесь в сети без интернета.",
|
||||
"Затем отсканируйте QR-код.",
|
||||
}
|
||||
}
|
||||
|
||||
@@ -43,10 +43,10 @@ func TestWiFiInstructions(t *testing.T) {
|
||||
}
|
||||
got := WiFiInstructions(" Venue ", " secret ")
|
||||
want := []string{
|
||||
"1. Подключитесь к Wi-Fi « Venue ».",
|
||||
"Подключитесь к Wi-Fi « Venue ».",
|
||||
"Пароль: « secret »",
|
||||
"2. Отсканируйте QR-код команды.",
|
||||
"Если телефон сообщает, что сеть без интернета, оставайтесь подключены.",
|
||||
"Оставайтесь в сети без интернета.",
|
||||
"Затем отсканируйте QR-код.",
|
||||
}
|
||||
if !reflect.DeepEqual(got, want) {
|
||||
t.Fatal("instructions changed credentials")
|
||||
|
||||
Reference in New Issue
Block a user