1
0
Fork 0
forked from forgejo/forgejo

Remove hg dep

This commit is contained in:
Unknwon 2014-09-07 19:58:01 -04:00
parent f8977f4847
commit 25d6ae69d1
36 changed files with 119822 additions and 8 deletions

45
modules/mahonia/utf8.go Normal file
View file

@ -0,0 +1,45 @@
package mahonia
import "unicode/utf8"
func init() {
RegisterCharset(&Charset{
Name: "UTF-8",
NewDecoder: func() Decoder { return decodeUTF8Rune },
NewEncoder: func() Encoder { return encodeUTF8Rune },
})
}
func decodeUTF8Rune(p []byte) (c rune, size int, status Status) {
if len(p) == 0 {
status = NO_ROOM
return
}
if p[0] < 128 {
return rune(p[0]), 1, SUCCESS
}
c, size = utf8.DecodeRune(p)
if c == 0xfffd {
if utf8.FullRune(p) {
status = INVALID_CHAR
return
}
return 0, 0, NO_ROOM
}
status = SUCCESS
return
}
func encodeUTF8Rune(p []byte, c rune) (size int, status Status) {
size = utf8.RuneLen(c)
if size > len(p) {
return 0, NO_ROOM
}
return utf8.EncodeRune(p, c), SUCCESS
}