22 lines
640 B
Go
22 lines
640 B
Go
package normalization
|
|
|
|
import (
|
|
"github.com/lbryio/lbcd/claimtrie/param"
|
|
)
|
|
|
|
var Normalize = normalizeGo
|
|
var NormalizeTitle = "Normalizing strings via Go. Casefold and NFD table versions: 11.0.0 (from ICU 63.2)"
|
|
|
|
func NormalizeIfNecessary(name []byte, height int32) []byte {
|
|
if height < param.ActiveParams.NormalizedNameForkHeight {
|
|
return name
|
|
}
|
|
return Normalize(name)
|
|
}
|
|
|
|
func normalizeGo(value []byte) []byte {
|
|
|
|
normalized := decompose(value) // may need to hard-code the version on this
|
|
// not using x/text/cases because it does too good of a job; it seems to use v14 tables even when it claims v13
|
|
return caseFold(normalized)
|
|
}
|