Skip to content

Commit

Permalink
up: vertical-position-of-text ^^
Browse files Browse the repository at this point in the history
- readability: fontSize -> lineHeight ^^
- 上揃えではなく中央揃えに ^^
  • Loading branch information
taniiicom committed Apr 24, 2024
1 parent 5e36050 commit 0614e18
Showing 1 changed file with 8 additions and 8 deletions.
16 changes: 8 additions & 8 deletions src/domain/TextEmoji/service.go
Original file line number Diff line number Diff line change
Expand Up @@ -108,27 +108,27 @@ func drawText(c *freetype.Context, font *truetype.Font, text string, width int)
// "_" で改行を分割
lines := strings.Split(text, "_")

// fontSize, yPos: y 座標 を定義
var fontSize float64
// lineHeight, yPos: y 座標 を定義
var lineHeight float64

// fontSize, yPos を計算
// lineHeight, yPos を計算
if len(lines) == 0 {
// err
return fmt.Errorf("too few lines")
} else if len(lines) < 4 {
fontSize = (CANVAS_HEIGHT) / float64(len(lines))
lineHeight = (CANVAS_HEIGHT) / float64(len(lines))
} else {
// err
return fmt.Errorf("too many lines")
}

// フォントサイズを設定
c.SetFontSize(fontSize)
c.SetFontSize(lineHeight)

// 分割された各行について描画
for i, line := range lines {
opts := truetype.Options{}
opts.Size = fontSize
opts.Size = lineHeight
// 設定したフォントサイズでフォントフェイスを生成
face := truetype.NewFace(font, &opts)

Expand All @@ -141,9 +141,9 @@ func drawText(c *freetype.Context, font *truetype.Font, text string, width int)
}

// スケールに基づいてフォントサイズを調整
c.SetFontSize(fontSize * scale)
c.SetFontSize(lineHeight * scale)
// テキストを中央揃えで描画するための開始ポイントを計算
pt := freetype.Pt(int(math.Round((float64(CANVAS_WIDTH)-(float64(txtWidth)*scale))/2)), (i+1)*int(fontSize*scale))
pt := freetype.Pt(int(math.Round((float64(CANVAS_WIDTH)-(float64(txtWidth)*scale))/2)), i*int(lineHeight)+int(lineHeight*scale))
_, err := c.DrawString(line, pt)
if err != nil {
return err
Expand Down

0 comments on commit 0614e18

Please sign in to comment.