你使用的Go版本是什么( go version
)?
$ go version go1.15.6 darwin/amd64
这个问题在最新版本中是否重现?
是的,
你正在使用什么操作系统和处理器架构( go env
)?
go env
输出
$ go env
GO111MODULE=""
GOARCH="amd64"
GOBIN=""
GOCACHE="/Users/rungsikorn.r/Library/Caches/go-build"
GOENV="/Users/rungsikorn.r/Library/Application Support/go/env"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="darwin"
GOINSECURE=""
GOMODCACHE="/Users/rungsikorn.r/go/pkg/mod"
GONOPROXY=""
GONOSUMDB=""
GOOS="darwin"
GOPATH="/Users/rungsikorn.r/go"
GOPRIVATE=""
GOPROXY="https://proxy.golang.org,direct"
GOROOT="/usr/local/go"
GOSUMDB="sum.golang.org"
GOTMPDIR=""
GOTOOLDIR="/usr/local/go/pkg/tool/darwin_amd64"
GCCGO="gccgo"
AR="ar"
CC="clang"
CXX="clang++"
CGO_ENABLED="1"
GOMOD="/Users/rungsikorn.r/go/src/***********/sliputil/go.mod"
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=/var/folders/78/kqk2z8953g9gy7z_lg29zqkr0000gq/T/go-build201421536=/tmp/go-build -gno-record-gcc-switches -fno-common"
你做了什么?
我使用 opentype
将泰语字符渲染成图像,但渲染结果不正确。
你期望看到什么?
"tone mark" 和 "vowel" 应该在正确的位置上渲染。与渲染结果进行比较。上面和下面的字形没有正确选择字形(图片来自 http://aodr.org/_common/do.php?a=full&b=12&bidx=717&aidx=9769 )
你看到了什么?
opentype
必须从字符索引表中选择正确的字形,该表需要根据泰语的语言组合规则进行计算。
1条答案
按热度按时间kcwpcxri1#
我已经尝试实现需要的支持
post
脚本信息表解析(已经在 opentype 包中支持)和计算泰语字形规则组合的功能。在这里还有一些工作正在进行 golang/freetype#81 ,但我发现这个包可能会被弃用,所以我会专注于在
x/image/font/opentype
中应用泰语字形组合规则的更改。连字示例
B = 基础字符
U = 上元音
L = 下元音
T = 声调标记