4
4
namespace AdventOfCode ;
5
5
6
6
static class OcrExtension {
7
- public static OcrString Ocr ( this string st , int charWidth = 5 , int charHeight = 5 ) {
7
+ public static OcrString Ocr ( this string st , int charWidth = 5 , int charHeight = 6 ) {
8
8
return new OcrString ( st , charWidth , charHeight ) ;
9
9
}
10
10
}
11
11
12
- record OcrString ( string st , int charWidth = 5 , int charHeight = 5 ) {
12
+ record OcrString ( string st , int charWidth , int charHeight ) {
13
13
public override string ToString ( ) {
14
14
var lines = st . Split ( "\n " ) ;
15
15
var width = lines [ 0 ] . Length ;
16
16
var height = lines . Length ;
17
17
18
18
var dict = new Dictionary < long , string > {
19
- // 5 x 5
19
+ // 5 x 6
20
20
{ 0x19297A52 , "A" } ,
21
21
{ 0x3252F4A4 , "A" } ,
22
22
{ 0x725C94B8 , "B" } ,
@@ -40,11 +40,11 @@ public override string ToString() {
40
40
{ 0x7844443C , "Z" } ,
41
41
42
42
// 8x10
43
- { 0x09F109090909F000 , "B" } ,
44
- { 0x010101010108F000 , "C" } ,
45
- { 0x010139090918E800 , "G" } ,
46
- { 0x101010111110E000 , "J" } ,
47
- { 0x102040810101F800 , "Z" } ,
43
+ { 0x909F109090909F0 , "B" } ,
44
+ { 0x1010101010108F0 , "C" } ,
45
+ { 0x1010139090918E8 , "G" } ,
46
+ { 0x10101010111110E0 , "J" } ,
47
+ { 0x8102040810101F8 , "Z" } ,
48
48
49
49
{ 0 , "" } ,
50
50
} ;
@@ -54,7 +54,7 @@ public override string ToString() {
54
54
for ( var ch = 0 ; ch < Math . Ceiling ( width / ( double ) charWidth ) ; ch ++ ) {
55
55
var hash = 0L ;
56
56
var stChar = "" ;
57
- for ( var irow = 0 ; irow <= charHeight ; irow ++ ) {
57
+ for ( var irow = 0 ; irow < charHeight ; irow ++ ) {
58
58
for ( var i = 0 ; i < charWidth ; i ++ ) {
59
59
var icol = ( ch * charWidth ) + i ;
60
60
var point = irow < height && icol < lines [ irow ] . Length ? lines [ irow ] [ icol ] : ' ' ;
0 commit comments