diff options
Diffstat (limited to 'fpdf.go')
| -rw-r--r-- | fpdf.go | 13 | 
1 files changed, 12 insertions, 1 deletions
| @@ -658,9 +658,20 @@ func (f *Fpdf) SetTextColor(r, g, b int) {  // Returns the length of a string in user units. A font must be selected.  func (f *Fpdf) GetStringWidth(s string) float64 { +	if f.err != nil { +		return 0 +	}  	w := 0 +	count := rune(len(f.currentFont.Cw))  	for _, ch := range s { -		w += f.currentFont.Cw[ch] +		if ch < count { +			w += f.currentFont.Cw[ch] +		} else { +			if f.err == nil { +				f.err = fmt.Errorf("Unicode strings not supported") +			} +			return 0 +		}  	}  	return float64(w) * f.fontSize / 1000  } | 
