Esempio n. 1
0
        /// <summary>
        /// Resolve the given chars into Fonts using FontResolver, then add
        /// font runs for each.
        /// </summary>
        private void addFonts <T1>(char[] chars, IDictionary <T1> attributes, int start, int limit) where T1 : java.text.AttributedCharacterIterator_Attribute
        {
            FontResolver      resolver = FontResolver.Instance;
            CodePointIterator iter     = CodePointIterator.create(chars, start, limit);

            for (int runStart = iter.charIndex(); runStart < limit; runStart = iter.charIndex())
            {
                int fontIndex = resolver.nextFontRunIndex(iter);
                AddFont(resolver.getFont(fontIndex, attributes), runStart);
            }
        }
Esempio n. 2
0
        public SettlementBL(string connectionString)
        {
            //Probably best to move it somewhere else
            if (!fontsLoaded)
            {
                FontResolver.Apply();
                fontsLoaded = true;
            }
            settlementDL = new SettlementDL(connectionString);
            weightTicketsPrintColumns = new Dictionary <string, string>();
            paymentsPrintColumns      = new Dictionary <string, string>();
            weightTicketColumnsToSum  = new List <string>();

            weightTicketsPrintColumns.Add("Folio", "Folio");
            weightTicketsPrintColumns.Add("EntranceDate", "F. Entrada");
            weightTicketsPrintColumns.Add("ProductName", "Producto");
            weightTicketsPrintColumns.Add("NetWeight", "P. Neto (KG)");
            weightTicketsPrintColumns.Add("Humidity", "Humedad");
            weightTicketsPrintColumns.Add("HumidityDiscount", "Dcto. Humedad");
            weightTicketsPrintColumns.Add("Impurities", "Impurezas");
            weightTicketsPrintColumns.Add("ImpuritiesDiscount", "Dcto. Impurezas");
            weightTicketsPrintColumns.Add("TotalWeightToPay", "Peso a pagar (KG)");
            weightTicketsPrintColumns.Add("Price", "Precio");
            weightTicketsPrintColumns.Add("DryingDiscount", "Dcto. Secado");
            weightTicketsPrintColumns.Add("TotalToPay", "Total a pagar");

            weightTicketColumnsToSum.Add("NetWeight");
            weightTicketColumnsToSum.Add("TotalWeightToPay");
            weightTicketColumnsToSum.Add("TotalToPay");

            paymentsPrintColumns.Add("Date", "Fecha");
            paymentsPrintColumns.Add("TypeString", "Tipo");
            paymentsPrintColumns.Add("Description", "Description");
            paymentsPrintColumns.Add("CheckOrVoucher", "Cheque/Vale");
            paymentsPrintColumns.Add("Total", "Total");
            percentageColumns = new float[weightTicketsPrintColumns.Count];
            float widthForNumbers = 0.08F;

            percentageColumns[0]  = 0.07F;           //Folio
            percentageColumns[1]  = 0.07F;           //Entrance date
            percentageColumns[2]  = 0.18F;           //Product
            percentageColumns[3]  = widthForNumbers; //Net Weight
            percentageColumns[4]  = 0.06F;           //Humidity
            percentageColumns[5]  = widthForNumbers; //Humidity discount
            percentageColumns[6]  = 0.06F;           //Impurities
            percentageColumns[7]  = widthForNumbers; //Impurities discount
            percentageColumns[8]  = widthForNumbers; //Total Weight to pay
            percentageColumns[9]  = widthForNumbers; //Price
            percentageColumns[10] = widthForNumbers; //Drying discount
            percentageColumns[11] = widthForNumbers; //Total To Pay
        }
Esempio n. 3
0
        public SizeF MeasureText(string text, FontInfo font)
        {
            var state = Graphics.TextRenderingHint;

            try
            {
                Graphics.TextRenderingHint = TextRenderingHint.AntiAlias;
                return(Graphics.MeasureString(text, FontResolver.Resolve(font), new SizeF(int.MaxValue, int.MaxValue), StringFormat.GenericTypographic));
            }
            finally
            {
                Graphics.TextRenderingHint = state;
            }
        }
Esempio n. 4
0
        /// <summary>
        /// Return a StyledParagraph reflecting the insertion of a single character
        /// into the text.  This method will attempt to reuse the given paragraph,
        /// but may create a new paragraph. </summary>
        /// <param name="aci"> an iterator over the text.  The text should be the same as the
        ///     text used to create (or most recently update) oldParagraph, with
        ///     the exception of inserting a single character at insertPos. </param>
        /// <param name="chars"> the characters in aci </param>
        /// <param name="insertPos"> the index of the new character in aci </param>
        /// <param name="oldParagraph"> a StyledParagraph for the text in aci before the
        ///     insertion </param>
        public static StyledParagraph InsertChar(AttributedCharacterIterator aci, char[] chars, int insertPos, StyledParagraph oldParagraph)
        {
            // If the styles at insertPos match those at insertPos-1,
            // oldParagraph will be reused.  Otherwise we create a new
            // paragraph.

            char ch          = aci.setIndex(insertPos);
            int  relativePos = System.Math.Max(insertPos - aci.BeginIndex - 1, 0);

//JAVA TO C# CONVERTER TODO TASK: Java wildcard generics are not converted to .NET:
//ORIGINAL LINE: java.util.Map<? extends java.text.AttributedCharacterIterator_Attribute, ?> attributes = addInputMethodAttrs(aci.getAttributes());
            IDictionary <?, ?> attributes = AddInputMethodAttrs(aci.Attributes);
            Decoration         d          = Decoration.getDecoration(attributes);

            if (!oldParagraph.GetDecorationAt(relativePos).Equals(d))
            {
                return(new StyledParagraph(aci, chars));
            }
            Object f = GetGraphicOrFont(attributes);

            if (f == null)
            {
                FontResolver resolver  = FontResolver.Instance;
                int          fontIndex = resolver.getFontIndex(ch);
                f = resolver.getFont(fontIndex, attributes);
            }
            if (!oldParagraph.GetFontOrGraphicAt(relativePos).Equals(f))
            {
                return(new StyledParagraph(aci, chars));
            }

            // insert into existing paragraph
            oldParagraph.Length += 1;
            if (oldParagraph.Decorations != null)
            {
                InsertInto(relativePos, oldParagraph.DecorationStarts, oldParagraph.Decorations.Count);
            }
            if (oldParagraph.Fonts != null)
            {
                InsertInto(relativePos, oldParagraph.FontStarts, oldParagraph.Fonts.Count);
            }
            return(oldParagraph);
        }
Esempio n. 5
0
 public static Font DefaultBold(float size)
 {
     return(FontResolver.ResolveFont("Segoe UI", size, FontStyle.Bold, GraphicsUnit.Pixel));
 }
Esempio n. 6
0
 public static Font DefaultLight(float size)
 {
     return(FontResolver.ResolveFont("Segoe UI Light", size, FontStyle.Regular, GraphicsUnit.Pixel));
 }
Esempio n. 7
0
        private float CalculateSpaceSize(FontInfo font)
        {
            var xfont = FontResolver.Resolve(font);

            return(Graphics.MeasureString("x x", xfont).Width - Graphics.MeasureString("xx", xfont).Width);
        }