title: Change font size programmatically on thermal Bluetooth Printer
body: <p>I have a 58mm 'MINI Thermal Printer', Model: ZJ-5805DD to use as POS printer with my POS App.</p>
  
  <p>I've successfully programmatically connected my App to the Printer via Bluetooth and can print text fine using </p>
  
  <p><code>KitchenPrinter.writeValue(myStringData, for: A2orC2, type: .withoutResponse)</code></p>
  
  <p>*note: A2 or C2 [see-below] characteristics produce same text print out.</p>
  
  <hr>
  
  <p>Changing the font print size has become a dead end for me. I know it's possible because the printer manuel had me download print tester "POS-PrinterV1.0" from the AppStore which can change font size</p>
  
  <p>Upon Service/Characteristic Discovery, we find 4 Services A, B, C, D (for simplicity of discussion)</p>
  
  <p>A:</p>
  
  <blockquote>
    <p>CBService: 0x1c0a6a5c0, isPrimary = YES, UUID = 49535343-FE7D-4AE5-8FA9-9FAFD205E455</p>
  
  <pre><code>CBCharacteristic: 0x1c02adf80, UUID = 49535343-1E4D-4BD9-BA61-23C647249616, properties = 0x10, value = (null), notifying = NO
  </code></pre>
    
    <p>contains NOTIFY </p>
  
  <pre><code>CBCharacteristic: 0x1c02bba80, UUID = 49535343-8841-43F4-A8D4-ECBE34729BB3, properties = 0xC, value = (null), notifying = NO
  </code></pre>
    
    <p>contains WRITE WRITEWITHOUTRESPONSE</p>
  </blockquote>
  
  <hr>
  
  <p>B:</p>
  
  <blockquote>
    <p>CBService: 0x1c0a6ce80, isPrimary = YES, UUID = E7810A71-73AE-499D-8C15-FAA9AEF0C3F2</p>
  
  <pre><code>  CBCharacteristic: 0x1c02adfe0, UUID = BEF8D6C9-9C21-4C9E-B632-BD58C1009F9F, properties = 0x3E, value = (null), notifying = NO
  </code></pre>
    
    <p>contains WRITE WRITEWITHOUTRESPONSE NOTIFY READ INDICATE </p>
  </blockquote>
  
  <hr>
  
  <p>C: </p>
  
  <blockquote>
    <p>CBService: 0x1c0a69100, isPrimary = YES, UUID = 18F0</p>
  
  <pre><code>  CBCharacteristic: 0x1c02b8000, UUID = 2AF0, properties = 0x30, value = (null), notifying = NO
  </code></pre>
    
    <p>contains NOTIFY INDICATE </p>
  
  <pre><code>  CBCharacteristic: 0x1c02a5700, UUID = 2AF1, properties = 0xC, value = (null), notifying = NO
  </code></pre>
    
    <p>contains WRITE WRITEWITHOUTRESPONSE</p>
  </blockquote>
  
  <hr>
  
  <p>D: </p>
  
  <blockquote>
    <p>CBService: 0x1c0a68300, isPrimary = YES, UUID = Device Information</p>
  
  <pre><code>  CBCharacteristic: 0x1c02a5dc0, UUID = Serial Number String, properties = 0x2, value = (null), notifying = NO
  </code></pre>
    
    <p>contains READ </p>
  
  <pre><code>  CBCharacteristic: 0x1c02a77a0, UUID = Software Revision String, properties = 0x2, value = (null), notifying = NO
  </code></pre>
    
    <p>contains READ </p>
  
  <pre><code>  CBCharacteristic: 0x1c02a76e0, UUID = Hardware Revision String, properties = 0x2, value = (null), notifying = NO
  </code></pre>
    
    <p>contains READ </p>
  
  <pre><code>  CBCharacteristic: 0x1c02a6060, UUID = Manufacturer Name String, properties = 0x2, value = (null), notifying = NO
  </code></pre>
    
    <p>contains READ</p>
  </blockquote>
  
  <hr>
  
  <p>I've been scouring the internet for days for a Swift solution. Please can someone help?</p>