@@ -54,7 +54,7 @@ public void ChangeDPI()
5454
5555 Debug . WriteLine ( output ) ;
5656 Assert . IsNotNull ( output ) ;
57- Assert . AreEqual ( "^XA\n ^LH0,0\n ^CI28 \n ^ FO591,1034\n ^GB147,147,7,B,0^FS\n ^XZ" , output ) ;
57+ Assert . AreEqual ( "^XA\n ^LH0,0\n ^FO591,1034\n ^GB147,147,7,B,0^FS\n ^XZ" , output ) ;
5858 }
5959
6060 [ TestMethod ]
@@ -102,9 +102,9 @@ public void TextFieldVariations()
102102
103103 var elements = new List < ZplElementBase > ( ) ;
104104 //Specail character is repalced with space
105- elements . Add ( new ZplTextField ( sampleText , 10 , 10 , font , useHexadecimalIndicator : false ) ) ;
105+ elements . Add ( new ZplTextField ( sampleText , 10 , 10 , font , hexadecimalIndicator : null ) ) ;
106106 //Specail character is using Hex value ^FH
107- elements . Add ( new ZplTextField ( sampleText , 10 , 50 , font , useHexadecimalIndicator : true ) ) ;
107+ elements . Add ( new ZplTextField ( sampleText , 10 , 50 , font , hexadecimalIndicator : '_' ) ) ;
108108 //Only the first line is displayed
109109 elements . Add ( new ZplSingleLineFieldBlock ( sampleText , 10 , 150 , 500 , font ) ) ;
110110 //Max 2 lines, text exceeding the maximum number of lines overwrites the last line.
@@ -132,7 +132,41 @@ public void WithoutAutoElements()
132132
133133 Debug . WriteLine ( output ) ;
134134 Assert . IsNotNull ( output ) ;
135- Assert . AreEqual ( "^CI28\n ^FX\n //A important field\n ^A0N,30,30\n ^FO50,100\n ^FH^FDPure element zpl only^FS" , output ) ;
135+ Assert . AreEqual ( "^FX\n //A important field\n ^A0N,30,30\n ^FO50,100\n ^FDPure element zpl only^FS" , output ) ;
136+ }
137+
138+ [ TestMethod ]
139+ public void ChangeInternationalFont ( )
140+ {
141+ var elements = new List < ZplElementBase > ( ) {
142+ new ZplChangeInternationalFont ( InternationalFont . ZCP1252 ) ,
143+ new ZplTextField ( "Straße" , 10 , 10 , ZplConstants . Font . Default , hexadecimalIndicator : '_' ) ,
144+ } ;
145+
146+ var renderEngine = new ZplEngine ( elements ) ;
147+ var output = renderEngine . ToZplString ( new ZplRenderOptions ( ) ) ;
148+
149+ Debug . WriteLine ( output ) ;
150+ Assert . IsNotNull ( output ) ;
151+ //TODO: escape non-ascii characters according to current charset if hexIndicator is given
152+ Assert . AreEqual ( "^XA\n ^LH0,0\n ^CI27\n ^A0N,30,30\n ^FO10,10\n ^FH^FDStraße^FS\n ^XZ" , output ) ;
153+ }
154+
155+ [ TestMethod ]
156+ public void FieldTypesetDefaultPosition ( )
157+ {
158+ var elements = new List < ZplElementBase > ( ) {
159+ new ZplTextField ( "ACME " , 10 , 200 , new ZplFont ( 30 , 20 , "0" ) , bottomToTop : true ) ,
160+ new ZplTextField ( "Summer " , 0 , 0 , new ZplFont ( 30 , 20 , "0" ) , bottomToTop : true , useDefaultPosition : true ) ,
161+ new ZplTextField ( "Clearance " , 0 , 0 , new ZplFont ( 60 , 50 , "0" ) , bottomToTop : true , useDefaultPosition : true ) ,
162+ new ZplTextField ( "Sale " , 0 , 0 , new ZplFont ( 120 , 100 , "0" ) , bottomToTop : true , useDefaultPosition : true )
163+ } ;
164+
165+ var renderEngine = new ZplEngine ( elements ) ;
166+ var output = renderEngine . ToZplString ( new ZplRenderOptions ( ) ) ;
167+
168+ Debug . WriteLine ( output ) ;
169+ Assert . AreEqual ( "^XA\n ^LH0,0\n ^A0N,20,30\n ^FT10,200\n ^FDACME ^FS\n ^A0N,20,30\n ^FT\n ^FDSummer ^FS\n ^A0N,50,60\n ^FT\n ^FDClearance ^FS\n ^A0N,100,120\n ^FT\n ^FDSale ^FS\n ^XZ" , output ) ;
136170 }
137171 }
138172}
0 commit comments