Skip to content
This repository has been archived by the owner on Nov 28, 2023. It is now read-only.

Commit

Permalink
Initial import from code.google.com
Browse files Browse the repository at this point in the history
  • Loading branch information
ollieparsley committed Feb 1, 2016
0 parents commit a44a595
Show file tree
Hide file tree
Showing 218 changed files with 2,868 additions and 0 deletions.
Binary file added .hg/00changelog.i
Binary file not shown.
1 change: 1 addition & 0 deletions .hg/branch
@@ -0,0 +1 @@
default
2 changes: 2 additions & 0 deletions .hg/cache/branchheads
@@ -0,0 +1,2 @@
ebbeafdc430eb6c7e44e9a730a38eaff4c56ba3a 31
ebbeafdc430eb6c7e44e9a730a38eaff4c56ba3a default
2 changes: 2 additions & 0 deletions .hg/cache/tags
@@ -0,0 +1,2 @@
31 ebbeafdc430eb6c7e44e9a730a38eaff4c56ba3a 714fcf858fc192a7b9eb67cf973e468573bcc9ee

Binary file added .hg/dirstate
Binary file not shown.
2 changes: 2 additions & 0 deletions .hg/hgrc
@@ -0,0 +1,2 @@
[paths]
default = https://code.google.com/p/go-charset/
4 changes: 4 additions & 0 deletions .hg/requires
@@ -0,0 +1,4 @@
revlogv1
fncache
store
dotencode
Binary file added .hg/store/00changelog.i
Binary file not shown.
Binary file added .hg/store/00manifest.i
Binary file not shown.
Binary file added .hg/store/data/_a_u_t_h_o_r_s.i
Binary file not shown.
Binary file added .hg/store/data/_c_o_n_t_r_i_b_u_t_o_r_s.i
Binary file not shown.
Binary file added .hg/store/data/charset/8bit.go.i
Binary file not shown.
Binary file added .hg/store/data/charset/_makefile.i
Binary file not shown.
Binary file added .hg/store/data/charset/big5.go.i
Binary file not shown.
Binary file added .hg/store/data/charset/charset.go.i
Binary file not shown.
Binary file added .hg/store/data/charset/charset__test.go.i
Binary file not shown.
Binary file added .hg/store/data/charset/codepage.go.i
Binary file not shown.
Binary file added .hg/store/data/charset/cp932.go.i
Binary file not shown.
Binary file added .hg/store/data/charset/data/big5.dat.i
Binary file not shown.
Binary file added .hg/store/data/charset/data/charsets.json.i
Binary file not shown.
Binary file added .hg/store/data/charset/data/ibm437.cp.i
Binary file not shown.
Binary file added .hg/store/data/charset/data/ibm850.cp.i
Binary file not shown.
Binary file added .hg/store/data/charset/data/ibm866.cp.i
Binary file not shown.
Binary file added .hg/store/data/charset/data/iso-8859-1.cp.i
Binary file not shown.
Binary file added .hg/store/data/charset/data/iso-8859-10.cp.i
Binary file not shown.
Binary file added .hg/store/data/charset/data/iso-8859-15.cp.i
Binary file not shown.
Binary file added .hg/store/data/charset/data/iso-8859-2.cp.i
Binary file not shown.
Binary file added .hg/store/data/charset/data/iso-8859-3.cp.i
Binary file not shown.
Binary file added .hg/store/data/charset/data/iso-8859-4.cp.i
Binary file not shown.
Binary file added .hg/store/data/charset/data/iso-8859-5.cp.i
Binary file not shown.
Binary file added .hg/store/data/charset/data/iso-8859-6.cp.i
Binary file not shown.
Binary file added .hg/store/data/charset/data/iso-8859-7.cp.i
Binary file not shown.
Binary file added .hg/store/data/charset/data/iso-8859-8.cp.i
Binary file not shown.
Binary file added .hg/store/data/charset/data/iso-8859-9.cp.i
Binary file not shown.
Binary file added .hg/store/data/charset/data/koi8-r.cp.i
Binary file not shown.
Binary file added .hg/store/data/charset/data/windows-1250.cp.i
Binary file not shown.
Binary file added .hg/store/data/charset/data/windows-1251.cp.i
Binary file not shown.
Binary file added .hg/store/data/charset/data/windows-1252.cp.i
Binary file not shown.
Binary file added .hg/store/data/charset/example__test.go.i
Binary file not shown.
Binary file added .hg/store/data/charset/file.go.i
Binary file not shown.
Binary file added .hg/store/data/charset/iconv/_makefile.i
Binary file not shown.
Binary file added .hg/store/data/charset/iconv/iconv.go.i
Binary file not shown.
Binary file added .hg/store/data/charset/iconv/iconv__test.go.i
Binary file not shown.
Binary file added .hg/store/data/charset/iconv/list__external.go.i
Binary file not shown.
Binary file added .hg/store/data/charset/iconv/list__query.go.i
Binary file not shown.
Binary file added .hg/store/data/charset/iconv/list__static.go.i
Binary file not shown.
Binary file added .hg/store/data/charset/local.go.i
Binary file not shown.
Binary file added .hg/store/data/charset/utf16.go.i
Binary file not shown.
Binary file added .hg/store/data/charset/utf8.go.i
Binary file not shown.
Binary file added .hg/store/data/cmd/tcs/_makefile.i
Binary file not shown.
Binary file added .hg/store/data/cmd/tcs/tcs.go.i
Binary file not shown.
Binary file added .hg/store/data/data/big5.dat.go.i
Binary file not shown.
Binary file added .hg/store/data/data/big5.dat.i
Binary file not shown.
Binary file added .hg/store/data/data/charsets.json.go.i
Binary file not shown.
Binary file added .hg/store/data/data/charsets.json.i
Binary file not shown.
Binary file added .hg/store/data/data/cp932.dat.go.i
Binary file not shown.
Binary file added .hg/store/data/data/cp932.dat.i
Binary file not shown.
Binary file added .hg/store/data/data/data__big5.dat.go.i
Binary file not shown.
Binary file added .hg/store/data/data/data__charsets.json.go.i
Binary file not shown.
Binary file added .hg/store/data/data/data__cp932.dat.go.i
Binary file not shown.
Binary file added .hg/store/data/data/data__ibm437.cp.go.i
Binary file not shown.
Binary file added .hg/store/data/data/data__ibm850.cp.go.i
Binary file not shown.
Binary file added .hg/store/data/data/data__ibm866.cp.go.i
Binary file not shown.
Binary file added .hg/store/data/data/data__iso-8859-1.cp.go.i
Binary file not shown.
Binary file added .hg/store/data/data/data__iso-8859-10.cp.go.i
Binary file not shown.
Binary file added .hg/store/data/data/data__iso-8859-15.cp.go.i
Binary file not shown.
Binary file added .hg/store/data/data/data__iso-8859-2.cp.go.i
Binary file not shown.
Binary file added .hg/store/data/data/data__iso-8859-3.cp.go.i
Binary file not shown.
Binary file added .hg/store/data/data/data__iso-8859-4.cp.go.i
Binary file not shown.
Binary file added .hg/store/data/data/data__iso-8859-5.cp.go.i
Binary file not shown.
Binary file added .hg/store/data/data/data__iso-8859-6.cp.go.i
Binary file not shown.
Binary file added .hg/store/data/data/data__iso-8859-7.cp.go.i
Binary file not shown.
Binary file added .hg/store/data/data/data__iso-8859-8.cp.go.i
Binary file not shown.
Binary file added .hg/store/data/data/data__iso-8859-9.cp.go.i
Binary file not shown.
Binary file added .hg/store/data/data/data__jisx0201kana.dat.go.i
Binary file not shown.
Binary file added .hg/store/data/data/data__koi8-r.cp.go.i
Binary file not shown.
Binary file added .hg/store/data/data/data__windows-1250.cp.go.i
Binary file not shown.
Binary file added .hg/store/data/data/data__windows-1251.cp.go.i
Binary file not shown.
Binary file added .hg/store/data/data/data__windows-1252.cp.go.i
Binary file not shown.
Binary file added .hg/store/data/data/doc.go.i
Binary file not shown.
Binary file added .hg/store/data/data/generate.go.i
Binary file not shown.
Binary file added .hg/store/data/data/ibm437.cp.go.i
Binary file not shown.
Binary file added .hg/store/data/data/ibm437.cp.i
Binary file not shown.
Binary file added .hg/store/data/data/ibm850.cp.go.i
Binary file not shown.
Binary file added .hg/store/data/data/ibm850.cp.i
Binary file not shown.
Binary file added .hg/store/data/data/ibm866.cp.go.i
Binary file not shown.
Binary file added .hg/store/data/data/ibm866.cp.i
Binary file not shown.
Binary file added .hg/store/data/data/iso-8859-1.cp.go.i
Binary file not shown.
Binary file added .hg/store/data/data/iso-8859-1.cp.i
Binary file not shown.
Binary file added .hg/store/data/data/iso-8859-10.cp.go.i
Binary file not shown.
Binary file added .hg/store/data/data/iso-8859-10.cp.i
Binary file not shown.
Binary file added .hg/store/data/data/iso-8859-15.cp.go.i
Binary file not shown.
Binary file added .hg/store/data/data/iso-8859-15.cp.i
Binary file not shown.
Binary file added .hg/store/data/data/iso-8859-2.cp.go.i
Binary file not shown.
Binary file added .hg/store/data/data/iso-8859-2.cp.i
Binary file not shown.
Binary file added .hg/store/data/data/iso-8859-3.cp.go.i
Binary file not shown.
Binary file added .hg/store/data/data/iso-8859-3.cp.i
Binary file not shown.
Binary file added .hg/store/data/data/iso-8859-4.cp.go.i
Binary file not shown.
Binary file added .hg/store/data/data/iso-8859-4.cp.i
Binary file not shown.
Binary file added .hg/store/data/data/iso-8859-5.cp.go.i
Binary file not shown.
Binary file added .hg/store/data/data/iso-8859-5.cp.i
Binary file not shown.
Binary file added .hg/store/data/data/iso-8859-6.cp.go.i
Binary file not shown.
Binary file added .hg/store/data/data/iso-8859-6.cp.i
Binary file not shown.
Binary file added .hg/store/data/data/iso-8859-7.cp.go.i
Binary file not shown.
Binary file added .hg/store/data/data/iso-8859-7.cp.i
Binary file not shown.
Binary file added .hg/store/data/data/iso-8859-8.cp.go.i
Binary file not shown.
Binary file added .hg/store/data/data/iso-8859-8.cp.i
Binary file not shown.
Binary file added .hg/store/data/data/iso-8859-9.cp.go.i
Binary file not shown.
Binary file added .hg/store/data/data/iso-8859-9.cp.i
Binary file not shown.
Binary file added .hg/store/data/data/jisx0201kana.dat.go.i
Binary file not shown.
Binary file added .hg/store/data/data/jisx0201kana.dat.i
Binary file not shown.
Binary file added .hg/store/data/data/koi8-r.cp.go.i
Binary file not shown.
Binary file added .hg/store/data/data/koi8-r.cp.i
Binary file not shown.
Binary file added .hg/store/data/data/windows-1250.cp.go.i
Binary file not shown.
Binary file added .hg/store/data/data/windows-1250.cp.i
Binary file not shown.
Binary file added .hg/store/data/data/windows-1251.cp.go.i
Binary file not shown.
Binary file added .hg/store/data/data/windows-1251.cp.i
Binary file not shown.
Binary file added .hg/store/data/data/windows-1252.cp.go.i
Binary file not shown.
Binary file added .hg/store/data/data/windows-1252.cp.i
Binary file not shown.
Binary file added .hg/store/data/datafiles/big5.dat.i
Binary file not shown.
Binary file added .hg/store/data/datafiles/charsets.json.i
Binary file not shown.
Binary file added .hg/store/data/datafiles/cp932.dat.i
Binary file not shown.
Binary file added .hg/store/data/datafiles/ibm437.cp.i
Binary file not shown.
Binary file added .hg/store/data/datafiles/ibm850.cp.i
Binary file not shown.
Binary file added .hg/store/data/datafiles/ibm866.cp.i
Binary file not shown.
Binary file added .hg/store/data/datafiles/iso-8859-1.cp.i
Binary file not shown.
Binary file added .hg/store/data/datafiles/iso-8859-10.cp.i
Binary file not shown.
Binary file added .hg/store/data/datafiles/iso-8859-15.cp.i
Binary file not shown.
Binary file added .hg/store/data/datafiles/iso-8859-2.cp.i
Binary file not shown.
Binary file added .hg/store/data/datafiles/iso-8859-3.cp.i
Binary file not shown.
Binary file added .hg/store/data/datafiles/iso-8859-4.cp.i
Binary file not shown.
Binary file added .hg/store/data/datafiles/iso-8859-5.cp.i
Binary file not shown.
Binary file added .hg/store/data/datafiles/iso-8859-6.cp.i
Binary file not shown.
Binary file added .hg/store/data/datafiles/iso-8859-7.cp.i
Binary file not shown.
Binary file added .hg/store/data/datafiles/iso-8859-8.cp.i
Binary file not shown.
Binary file added .hg/store/data/datafiles/iso-8859-9.cp.i
Binary file not shown.
Binary file added .hg/store/data/datafiles/jisx0201kana.dat.i
Binary file not shown.
Binary file added .hg/store/data/datafiles/koi8-r.cp.i
Binary file not shown.
Binary file added .hg/store/data/datafiles/windows-1250.cp.i
Binary file not shown.
Binary file added .hg/store/data/datafiles/windows-1251.cp.i
Binary file not shown.
Binary file added .hg/store/data/datafiles/windows-1252.cp.i
Binary file not shown.
Binary file not shown.
Binary file added .hg/store/data/lib/codereview/codereview.cfg.i
Binary file not shown.
Binary file added .hg/store/data/~2ehgtags.i
Binary file not shown.
135 changes: 135 additions & 0 deletions .hg/store/fncache
@@ -0,0 +1,135 @@
data/charset/iconv/list_query.go.i
data/CONTRIBUTORS.i
data/charset/data/koi8-r.cp.i
data/data/big5.dat.i
data/charset/data/iso-8859-9.cp.i
data/data/iso-8859-8.cp.go.i
data/charset/data/ibm850.cp.i
data/charset/utf16.go.i
data/datafiles/iso-8859-9.cp.i
data/charset/data/ibm437.cp.i
data/charset/data/iso-8859-10.cp.i
data/data/windows-1251.cp.i
data/lib/codereview/codereview.cfg.i
data/data/ibm866.cp.i
data/data/data_windows-1250.cp.go.i
data/charset/data/ibm866.cp.i
data/data/data_iso-8859-10.cp.go.i
data/data/windows-1251.cp.go.i
data/charset/data/big5.dat.i
data/generate-charset-data/generate.go.i
data/datafiles/windows-1252.cp.i
data/datafiles/cp932.dat.i
data/datafiles/iso-8859-10.cp.i
data/charset/data/windows-1250.cp.i
data/charset/data/iso-8859-3.cp.i
data/data/ibm850.cp.i
data/data/koi8-r.cp.i
data/charset/data/iso-8859-6.cp.i
data/charset/charset.go.i
data/data/windows-1250.cp.i
data/.hgtags.i
data/datafiles/iso-8859-6.cp.i
data/charset/local.go.i
data/data/data_charsets.json.go.i
data/data/ibm850.cp.go.i
data/data/iso-8859-9.cp.i
data/data/doc.go.i
data/data/data_koi8-r.cp.go.i
data/data/iso-8859-2.cp.go.i
data/charset/file.go.i
data/charset/data/iso-8859-1.cp.i
data/data/windows-1250.cp.go.i
data/charset/data/windows-1252.cp.i
data/data/data_iso-8859-4.cp.go.i
data/data/data_iso-8859-5.cp.go.i
data/data/data_iso-8859-2.cp.go.i
data/data/big5.dat.go.i
data/datafiles/big5.dat.i
data/data/data_cp932.dat.go.i
data/data/windows-1252.cp.go.i
data/data/iso-8859-3.cp.go.i
data/charset/data/iso-8859-15.cp.i
data/data/iso-8859-7.cp.i
data/data/iso-8859-6.cp.i
data/datafiles/iso-8859-5.cp.i
data/datafiles/windows-1251.cp.i
data/data/iso-8859-5.cp.go.i
data/charset/charset_test.go.i
data/charset/8bit.go.i
data/data/iso-8859-10.cp.go.i
data/charset/data/iso-8859-8.cp.i
data/charset/big5.go.i
data/data/iso-8859-7.cp.go.i
data/data/data_iso-8859-6.cp.go.i
data/data/cp932.dat.go.i
data/data/data_iso-8859-3.cp.go.i
data/data/generate.go.i
data/charset/data/charsets.json.i
data/datafiles/windows-1250.cp.i
data/AUTHORS.i
data/data/iso-8859-15.cp.go.i
data/datafiles/ibm866.cp.i
data/data/koi8-r.cp.go.i
data/data/iso-8859-15.cp.i
data/data/cp932.dat.i
data/cmd/tcs/tcs.go.i
data/data/data_iso-8859-1.cp.go.i
data/data/data_windows-1251.cp.go.i
data/charset/Makefile.i
data/charset/iconv/list_external.go.i
data/datafiles/ibm437.cp.i
data/datafiles/iso-8859-4.cp.i
data/charset/codepage.go.i
data/charset/data/iso-8859-4.cp.i
data/charset/data/iso-8859-5.cp.i
data/data/data_iso-8859-9.cp.go.i
data/cmd/tcs/Makefile.i
data/data/data_iso-8859-15.cp.go.i
data/data/charsets.json.i
data/datafiles/iso-8859-8.cp.i
data/data/data_iso-8859-7.cp.go.i
data/data/data_jisx0201kana.dat.go.i
data/data/jisx0201kana.dat.go.i
data/datafiles/iso-8859-15.cp.i
data/data/iso-8859-8.cp.i
data/datafiles/iso-8859-2.cp.i
data/data/ibm437.cp.i
data/charset/example_test.go.i
data/charset/cp932.go.i
data/data/iso-8859-9.cp.go.i
data/datafiles/iso-8859-7.cp.i
data/data/ibm866.cp.go.i
data/charset/data/iso-8859-7.cp.i
data/charset/utf8.go.i
data/data/windows-1252.cp.i
data/data/data_windows-1252.cp.go.i
data/data/data_ibm437.cp.go.i
data/data/iso-8859-1.cp.go.i
data/datafiles/iso-8859-1.cp.i
data/datafiles/jisx0201kana.dat.i
data/datafiles/ibm850.cp.i
data/data/iso-8859-3.cp.i
data/data/jisx0201kana.dat.i
data/data/iso-8859-1.cp.i
data/datafiles/iso-8859-3.cp.i
data/data/iso-8859-6.cp.go.i
data/data/iso-8859-5.cp.i
data/data/data_ibm866.cp.go.i
data/charset/iconv/iconv.go.i
data/data/ibm437.cp.go.i
data/charset/iconv/iconv_test.go.i
data/datafiles/koi8-r.cp.i
data/data/charsets.json.go.i
data/data/iso-8859-4.cp.go.i
data/data/iso-8859-10.cp.i
data/charset/data/iso-8859-2.cp.i
data/charset/data/windows-1251.cp.i
data/data/iso-8859-2.cp.i
data/data/data_big5.dat.go.i
data/data/data_ibm850.cp.go.i
data/datafiles/charsets.json.i
data/data/iso-8859-4.cp.i
data/data/data_iso-8859-8.cp.go.i
data/charset/iconv/Makefile.i
data/charset/iconv/list_static.go.i
Empty file added .hg/store/phaseroots
Empty file.
Binary file added .hg/store/undo
Binary file not shown.
Empty file added .hg/store/undo.phaseroots
Empty file.
Empty file added .hg/undo.bookmarks
Empty file.
1 change: 1 addition & 0 deletions .hg/undo.branch
@@ -0,0 +1 @@
default
3 changes: 3 additions & 0 deletions .hg/undo.desc
@@ -0,0 +1,3 @@
0
pull
https://code.google.com/p/go-charset/
Empty file added .hg/undo.dirstate
Empty file.
Empty file added .hgtags
Empty file.
11 changes: 11 additions & 0 deletions AUTHORS
@@ -0,0 +1,11 @@
# This is the official list of go-charset authors for copyright purposes.
# This file is distinct from the CONTRIBUTORS files.
# See the latter for an explanation.

# Names should be added to this file as
# Name or Organization <email address>
# The email address is not required for organizations.

# Please keep the list sorted.

Roger Peppe <rogpeppe@gmail.com>
15 changes: 15 additions & 0 deletions CONTRIBUTORS
@@ -0,0 +1,15 @@
# This is the official list of people who can contribute
# (and typically have contributed) code to the go-charset repository.
# The AUTHORS file lists the copyright holders; this file
# lists people. For example, Google employees are listed here
# but not in AUTHORS, because Google holds the copyright.
#
# The submission process automatically checks to make sure
# that people submitting code are listed in this file (by email address).
# XXX more bumph here?
# Names should be added to this file like so:
# Name <email address>

# Please keep the list sorted.

Roger Peppe <rogpeppe@gmail.com>
88 changes: 88 additions & 0 deletions charset/big5.go
@@ -0,0 +1,88 @@
package charset

import (
"fmt"
"unicode/utf8"
)

func init() {
registerClass("big5", fromBig5, nil)
}

// Big5 consists of 89 fonts of 157 chars each
const (
big5Max = 13973
big5Font = 157
big5Data = "big5.dat"
)

type translateFromBig5 struct {
font int
scratch []byte
big5map []rune
}

func (p *translateFromBig5) Translate(data []byte, eof bool) (int, []byte, error) {
p.scratch = p.scratch[:0]
n := 0
for len(data) > 0 {
c := int(data[0])
data = data[1:]
n++
if p.font == -1 {
// idle state
if c >= 0xa1 {
p.font = c
continue
}
if c == 26 {
c = '\n'
}
continue
}
f := p.font
p.font = -1
r := utf8.RuneError
switch {
case c >= 64 && c <= 126:
c -= 64
case c >= 161 && c <= 254:
c = c - 161 + 63
default:
// bad big5 char
f = 255
}
if f <= 254 {
f -= 161
ix := f*big5Font + c
if ix < len(p.big5map) {
r = p.big5map[ix]
}
if r == -1 {
r = utf8.RuneError
}
}
p.scratch = appendRune(p.scratch, r)
}
return n, p.scratch, nil
}

type big5Key bool

func fromBig5(arg string) (Translator, error) {
big5map, err := cache(big5Key(false), func() (interface{}, error) {
data, err := readFile(big5Data)
if err != nil {
return nil, fmt.Errorf("charset: cannot open big5 data file: %v", err)
}
big5map := []rune(string(data))
if len(big5map) != big5Max {
return nil, fmt.Errorf("charset: corrupt big5 data")
}
return big5map, nil
})
if err != nil {
return nil, err
}
return &translateFromBig5{big5map: big5map.([]rune), font: -1}, nil
}

0 comments on commit a44a595

Please sign in to comment.