all repos — captcha @ weekly.2012-01-15

Go package captcha implements generation and verification of image and audio CAPTCHAs.

font.go (view raw)

  1// Copyright 2011 Dmitry Chestnykh. All rights reserved.
  2// Use of this source code is governed by a MIT-style
  3// license that can be found in the LICENSE file.
  4
  5package captcha
  6
  7const (
  8	fontWidth  = 11
  9	fontHeight = 18
 10	blackChar  = 1
 11)
 12
 13var font = [][]byte{
 14	{ // 0
 15		0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0,
 16		0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0,
 17		0, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0,
 18		0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 0,
 19		1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 0,
 20		1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1,
 21		1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1,
 22		1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1,
 23		1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1,
 24		1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1,
 25		1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1,
 26		1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1,
 27		1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1,
 28		1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1,
 29		0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 0,
 30		0, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0,
 31		0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0,
 32		0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0,
 33	},
 34	{ // 1
 35		0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0,
 36		0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0,
 37		0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0,
 38		0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0,
 39		0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0,
 40		0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0,
 41		0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0,
 42		0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0,
 43		0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0,
 44		0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0,
 45		0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0,
 46		0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0,
 47		0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0,
 48		0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0,
 49		0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0,
 50		0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0,
 51		0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
 52		0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
 53	},
 54	{ // 2
 55		0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0,
 56		0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0,
 57		1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 0,
 58		0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0,
 59		0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
 60		0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
 61		0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
 62		0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0,
 63		0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0,
 64		0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
 65		0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0,
 66		0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0,
 67		0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0,
 68		0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0,
 69		0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0,
 70		0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
 71		1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
 72		1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
 73	},
 74	{ // 3
 75		0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0,
 76		1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0,
 77		1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0,
 78		0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
 79		0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
 80		0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
 81		0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0,
 82		0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0,
 83		0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0,
 84		0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0,
 85		0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
 86		0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
 87		0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
 88		0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
 89		0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
 90		1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0,
 91		1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0,
 92		0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0,
 93	},
 94	{ // 4
 95		0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0,
 96		0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0,
 97		0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0,
 98		0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0,
 99		0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0,
100		0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0,
101		0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0,
102		0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0,
103		0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0,
104		0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0,
105		1, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0,
106		1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0,
107		1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
108		1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
109		0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0,
110		0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0,
111		0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0,
112		0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0,
113	},
114	{ // 5
115		0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0,
116		0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0,
117		0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
118		0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
119		0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
120		0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
121		0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0,
122		0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0,
123		0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0,
124		0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
125		0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
126		0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
127		0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
128		0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
129		0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
130		1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0,
131		1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0,
132		0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0,
133	},
134	{ // 6
135		0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0,
136		0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0,
137		0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0,
138		0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
139		0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
140		0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
141		1, 1, 0, 0, 1, 1, 1, 1, 0, 0, 0,
142		1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0,
143		1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0,
144		1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1,
145		1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1,
146		1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1,
147		1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1,
148		1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1,
149		0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1,
150		0, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0,
151		0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0,
152		0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0,
153	},
154	{ // 7
155		1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
156		1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
157		1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1,
158		1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0,
159		0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
160		0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0,
161		0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0,
162		0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0,
163		0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
164		0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
165		0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0,
166		0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0,
167		0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0,
168		0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0,
169		0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0,
170		0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0,
171		0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0,
172		0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0,
173	},
174	{ // 8
175		0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0,
176		0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0,
177		0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1,
178		0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1,
179		0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1,
180		0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1,
181		0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 0,
182		0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0,
183		0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0,
184		0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0,
185		0, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0,
186		1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1,
187		1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1,
188		1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1,
189		1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1,
190		1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 0,
191		0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0,
192		0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0,
193	},
194	{ // 9
195		0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0,
196		0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0,
197		0, 1, 1, 0, 0, 0, 0, 1, 1, 1, 0,
198		1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0,
199		1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1,
200		1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1,
201		1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1,
202		1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1,
203		0, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1,
204		0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1,
205		0, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1,
206		0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
207		0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
208		0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
209		0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0,
210		0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0,
211		0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0,
212		0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
213	},
214}