Quellcode durchsuchen

增加字体放大

zhangyang vor 6 Jahren
Ursprung
Commit
90b3ac23df
2 geänderte Dateien mit 68 neuen und 53 gelöschten Zeilen
  1. 67 52
      lewaimai_pos_windows/tool/CPosPrinter.cpp
  2. 1 1
      lewaimai_pos_windows/tool/CPosPrinter.h

+ 67 - 52
lewaimai_pos_windows/tool/CPosPrinter.cpp

@@ -150,14 +150,14 @@ void CPosPrinter::PrintWaimaiOrderShouyin(CWaimaiOrder& order)
         POS_Reset();
 
         string shop_name = "#" + order.m_restaurant_number + "  " + CLewaimaiString::UTF8ToANSI(order.m_shop_name);
-        POS_TextOut(shop_name, true, 1);
+        POS_TextOut(shop_name, true, true, 1);
         POS_FeedLine();
 
         POS_FeedLine();
 
         if(order.m_is_selftake == "1")
         {
-            POS_TextOut("到店自取订单", false, 1);
+            POS_TextOut("到店自取订单", false, false, 1);
             POS_FeedLine();
 
             POS_FeedLine();
@@ -165,7 +165,7 @@ void CPosPrinter::PrintWaimaiOrderShouyin(CWaimaiOrder& order)
 
         else
         {
-            POS_TextOut("外卖订单", false, 1);
+            POS_TextOut("外卖订单", false, false, 1);
             POS_FeedLine();
         }
 
@@ -181,24 +181,44 @@ void CPosPrinter::PrintWaimaiOrderShouyin(CWaimaiOrder& order)
         POS_TextOut(order_num);
         POS_FeedLine();
 
+		//下单时间
+		string order_date = "下单时间:" + CLewaimaiString::UTF8ToANSI(order.m_order_date);
+		POS_TextOut(order_date);
+		POS_FeedLine();
+
+		//配送时间
+		if (order.m_is_selftake == "1")
+		{
+			string date = "自取时间:" + CLewaimaiString::UTF8ToANSI(order.m_delivery_date);
+			POS_TextOut(date);
+			POS_FeedLine();
+		}
+
+		else
+		{
+			string date = "配送时间:" + CLewaimaiString::UTF8ToANSI(order.m_delivery_date);
+			POS_TextOut(date);
+			POS_FeedLine();
+		}
+
         //姓名
         if(order.m_is_selftake != "1")
         {
             string name = "姓名:" + CLewaimaiString::UTF8ToANSI(order.m_customer_name);
-            POS_TextOut(name);
+            POS_TextOut(name, false, true);
             POS_FeedLine();
         }
 
         //电话
         string phone = "电话:" + CLewaimaiString::UTF8ToANSI(order.m_phone);
-        POS_TextOut(phone);
+        POS_TextOut(phone, false, true);
         POS_FeedLine();
 
         //地址
         if(order.m_is_selftake != "1")
         {
             string address = "地址:" + CLewaimaiString::UTF8ToANSI(order.m_address);
-            POS_TextOut(address);
+            POS_TextOut(address, false, true);
             POS_FeedLine();
         }
 
@@ -208,31 +228,11 @@ void CPosPrinter::PrintWaimaiOrderShouyin(CWaimaiOrder& order)
             for(std::vector<CWaimaiOrderField>::iterator it = order.m_order_field.begin(); it != order.m_order_field.end() - 1; it++)
             {
                 string order_field = CLewaimaiString::UTF8ToANSI((*it).name) + ":" + CLewaimaiString::UTF8ToANSI((*it).value);
-                POS_TextOut(order_field, false, 0);
+                POS_TextOut(order_field, false, false, 0);
                 POS_FeedLine();
             }
         }
 
-        //下单时间
-        string order_date = "下单时间:" + CLewaimaiString::UTF8ToANSI(order.m_order_date);
-        POS_TextOut(order_date);
-        POS_FeedLine();
-
-        //配送时间
-        if(order.m_is_selftake == "1")
-        {
-            string date = "自取时间:" + CLewaimaiString::UTF8ToANSI(order.m_delivery_date);
-            POS_TextOut(date);
-            POS_FeedLine();
-        }
-
-        else
-        {
-            string date = "配送时间:" + CLewaimaiString::UTF8ToANSI(order.m_delivery_date);
-            POS_TextOut(date);
-            POS_FeedLine();
-        }
-
         //准备开始打印商品详情
         string lines;
 
@@ -308,12 +308,12 @@ void CPosPrinter::PrintWaimaiOrderShouyin(CWaimaiOrder& order)
 
             std::string firstLineShow = firstLine + priceShow + quantityShow + priceTotalShow;
 
-            POS_TextOut(firstLineShow, false, 0);
+            POS_TextOut(firstLineShow, false, true, 0);
             POS_FeedLine();
 
             for(std::vector<string>::iterator it = m_names.begin() + 1; it != m_names.end(); it++)
             {
-                POS_TextOut((*it), false, 0);
+                POS_TextOut((*it), false, true, 0);
                 POS_FeedLine();
             }
         }
@@ -323,7 +323,7 @@ void CPosPrinter::PrintWaimaiOrderShouyin(CWaimaiOrder& order)
         {
             POS_FeedLine();
             string address = "顾客备注:" + CLewaimaiString::UTF8ToANSI(order.m_memo);
-            POS_TextOut(address, false, 0);
+            POS_TextOut(address, false, true, 0);
             POS_FeedLine();
         }
 
@@ -337,7 +337,7 @@ void CPosPrinter::PrintWaimaiOrderShouyin(CWaimaiOrder& order)
         if(order.m_delivery > 0)
         {
             string delivery = "配送费:" + CLewaimaiString::DoubleToString((double)order.m_delivery, 2);
-            POS_TextOut(delivery, false, 0);
+            POS_TextOut(delivery, false, false, 0);
             POS_FeedLine();
 
             is_other_money = true;
@@ -346,7 +346,7 @@ void CPosPrinter::PrintWaimaiOrderShouyin(CWaimaiOrder& order)
         if(order.m_is_dabao == "1")
         {
             string dabao = "打包费:" + CLewaimaiString::UTF8ToANSI(order.m_dabao_money);
-            POS_TextOut(dabao, false, 0);
+            POS_TextOut(dabao, false, false, 0);
             POS_FeedLine();
 
             is_other_money = true;
@@ -358,7 +358,7 @@ void CPosPrinter::PrintWaimaiOrderShouyin(CWaimaiOrder& order)
             for(std::vector<CWaimaiOrderField>::iterator it = order.m_addservie.begin(); it != order.m_addservie.end(); it++)
             {
                 string addservice = CLewaimaiString::UTF8ToANSI((*it).name) + ":" + CLewaimaiString::DoubleToString((double)atof((*it).value.c_str()), 2);
-                POS_TextOut(addservice, false, 0);
+                POS_TextOut(addservice, false, false, 0);
                 POS_FeedLine();
 
                 is_other_money = true;
@@ -370,7 +370,7 @@ void CPosPrinter::PrintWaimaiOrderShouyin(CWaimaiOrder& order)
         if(order.m_discount < 10)
         {
             string discount = "打折:" + CLewaimaiString::DoubleToString((double)order.m_discount, 2) + "折";
-            POS_TextOut(discount, false, 0);
+            POS_TextOut(discount, false, false, 0);
             POS_FeedLine();
 
             is_other_money = true;
@@ -379,7 +379,7 @@ void CPosPrinter::PrintWaimaiOrderShouyin(CWaimaiOrder& order)
         if(order.m_is_member_discount == "1")
         {
             string member_discount = "会员优惠:-" + order.m_member_discount;
-            POS_TextOut(member_discount, false, 0);
+			POS_TextOut(member_discount, false, false, 0);
             POS_FeedLine();
 
             is_other_money = true;
@@ -388,7 +388,7 @@ void CPosPrinter::PrintWaimaiOrderShouyin(CWaimaiOrder& order)
         if(order.m_is_firstcut == "1")
         {
             string firstcut = "首单优惠:-" + order.m_firstcut_value;
-            POS_TextOut(firstcut, false, 0);
+            POS_TextOut(firstcut, false, false, 0);
             POS_FeedLine();
 
             is_other_money = true;
@@ -403,7 +403,7 @@ void CPosPrinter::PrintWaimaiOrderShouyin(CWaimaiOrder& order)
             promotion_value.assign(order.m_promotion, position + 1);
 
             string promotion = "满减优惠:-" + CLewaimaiString::DoubleToString((double)(atof(promotion_value.c_str())), 2);
-            POS_TextOut(promotion, false, 0);
+            POS_TextOut(promotion, false, false, 0);
             POS_FeedLine();
 
             is_other_money = true;
@@ -412,7 +412,7 @@ void CPosPrinter::PrintWaimaiOrderShouyin(CWaimaiOrder& order)
         if(order.m_coupon > 0)
         {
             string coupon = "优惠券:-" + CLewaimaiString::DoubleToString((double)order.m_coupon, 2);
-            POS_TextOut(coupon, false, 0);
+            POS_TextOut(coupon, false, false, 0);
             POS_FeedLine();
 
             is_other_money = true;
@@ -425,11 +425,11 @@ void CPosPrinter::PrintWaimaiOrderShouyin(CWaimaiOrder& order)
         }
 
         //最后显示总价
-        POS_TextOut("总计:¥" + CLewaimaiString::DoubleToString(order.m_price, 2), false, 2);
+        POS_TextOut("总计:¥" + CLewaimaiString::DoubleToString(order.m_price, 2), false, false, 2);
         POS_FeedLine();
 
         //显示付款方式
-        POS_TextOut("支付方式:" + CLewaimaiString::UTF8ToANSI(order.m_pay_type), false, 2);
+        POS_TextOut("支付方式:" + CLewaimaiString::UTF8ToANSI(order.m_pay_type), false, false, 2);
         POS_FeedLine();
 
         POS_FeedLine();
@@ -483,7 +483,7 @@ void CPosPrinter::PrintWaimaiOrderChufang(CWaimaiOrder& order)
         {
             POS_Reset();
 
-            POS_TextOut("派工单", true, 1);
+            POS_TextOut("派工单", true, true, 1);
 
             POS_FeedLine();
             POS_FeedLine();
@@ -494,7 +494,7 @@ void CPosPrinter::PrintWaimaiOrderChufang(CWaimaiOrder& order)
                 for(std::vector<CWaimaiOrderField>::iterator it = order.m_order_field.begin(); it != order.m_order_field.end() - 1; it++)
                 {
                     string order_field = CLewaimaiString::UTF8ToANSI((*it).name) + ":" + CLewaimaiString::UTF8ToANSI((*it).value);
-                    POS_TextOut(order_field, false, 0);
+                    POS_TextOut(order_field, false, false, 0);
                     POS_FeedLine();
                 }
             }
@@ -574,12 +574,12 @@ void CPosPrinter::PrintWaimaiOrderChufang(CWaimaiOrder& order)
 
                 std::string firstLineShow = firstLine + priceShow + quantityShow + priceTotalShow;
 
-                POS_TextOut(firstLineShow, false, 0);
+                POS_TextOut(firstLineShow, false, false, 0);
                 POS_FeedLine();
 
                 for(std::vector<string>::iterator it = m_names.begin() + 1; it != m_names.end(); it++)
                 {
-                    POS_TextOut((*it), false, 0);
+                    POS_TextOut((*it), false, false, 0);
                     POS_FeedLine();
                 }
             }
@@ -589,7 +589,7 @@ void CPosPrinter::PrintWaimaiOrderChufang(CWaimaiOrder& order)
             {
                 POS_FeedLine();
                 string address = "顾客备注:" + CLewaimaiString::UTF8ToANSI(order.m_memo);
-                POS_TextOut(address, false, 0);
+                POS_TextOut(address, false, false, 0);
                 POS_FeedLine();
             }
 
@@ -609,7 +609,7 @@ void CPosPrinter::PrintWaimaiOrderChufang(CWaimaiOrder& order)
             //分单模式下,每个商品打印一张单
             for(std::vector<CWaimaiOrderItem>::iterator it = cur_printer_use.begin(); it != cur_printer_use.end(); it++)
             {
-                POS_TextOut("派工单", true, 1);
+                POS_TextOut("派工单", true, true, 1);
 
                 POS_FeedLine();
                 POS_FeedLine();
@@ -620,7 +620,7 @@ void CPosPrinter::PrintWaimaiOrderChufang(CWaimaiOrder& order)
                     for(std::vector<CWaimaiOrderField>::iterator it = order.m_order_field.begin(); it != order.m_order_field.end() - 1; it++)
                     {
                         string order_field = CLewaimaiString::UTF8ToANSI((*it).name) + ":" + CLewaimaiString::UTF8ToANSI((*it).value);
-                        POS_TextOut(order_field, false, 0);
+                        POS_TextOut(order_field, false, false, 0);
                         POS_FeedLine();
                     }
                 }
@@ -684,12 +684,12 @@ void CPosPrinter::PrintWaimaiOrderChufang(CWaimaiOrder& order)
 
                 std::string firstLineShow = firstLine + priceShow + quantityShow + priceTotalShow;
 
-                POS_TextOut(firstLineShow, false, 0);
+                POS_TextOut(firstLineShow, false, false, 0);
                 POS_FeedLine();
 
                 for(std::vector<string>::iterator it = m_names.begin() + 1; it != m_names.end(); it++)
                 {
-                    POS_TextOut((*it), false, 0);
+                    POS_TextOut((*it), false, false, 0);
                     POS_FeedLine();
                 }
 
@@ -698,7 +698,7 @@ void CPosPrinter::PrintWaimaiOrderChufang(CWaimaiOrder& order)
                 {
                     POS_FeedLine();
                     string address = "顾客备注:" + CLewaimaiString::UTF8ToANSI(order.m_memo);
-                    POS_TextOut(address, false, 0);
+                    POS_TextOut(address, false, false, 0);
                     POS_FeedLine();
                 }
 
@@ -971,9 +971,9 @@ int CPosPrinter::POS_SET_PRINT_AREA(int x, int y)
 /*
  *align_type:0 左对齐 1 居中对齐 2右对齐
  **/
-int CPosPrinter::POS_TextOut(string abc, bool is_double, int align_type)
+int CPosPrinter::POS_TextOut(string abc, bool is_double_width, bool is_double_height, int align_type)
 {
-    if(is_double)
+    if(is_double_width && is_double_height)
     {
         char s1[3] = { 0x1B, 0x21, 0x30 };
         WriteBuf(s1, 3);
@@ -981,7 +981,22 @@ int CPosPrinter::POS_TextOut(string abc, bool is_double, int align_type)
         char s2[3] = { 0x1C, 0x21, 0x0c };
         WriteBuf(s2, 3);
     }
+	else if (is_double_width && !is_double_height)
+	{
+		char s1[3] = { 0x1B, 0x21, 0x20 };
+		WriteBuf(s1, 3);
+
+		char s2[3] = { 0x1C, 0x21, 0x04 };
+		WriteBuf(s2, 3);
+	}
+	else if (!is_double_width && is_double_height)
+	{
+		char s1[3] = { 0x1B, 0x21, 0x10 };
+		WriteBuf(s1, 3);
 
+		char s2[3] = { 0x1C, 0x21, 0x08 };
+		WriteBuf(s2, 3);
+	}
     else
     {
         char s1[3] = { 0x1B, 0x21, 0x00 };

+ 1 - 1
lewaimai_pos_windows/tool/CPosPrinter.h

@@ -40,7 +40,7 @@ private:
 	int POS_SET_ABS_X(int x, int y);
 	int POS_SET_PRINT_AREA(int x, int y);
 
-	int POS_TextOut(string abc, bool is_double = false, int align_type = 0);
+	int POS_TextOut(string abc, bool is_double_width = false, bool is_double_height = false, int align_type = 0);
 
 	int POS_CutPaper();
 	int POS_OutQRCode();