Beispiel #1
0
        public AxisTable_val GetVertAxisTable_val()
        {
            AxisTable_val at = null;

            if (VertAxisOffset != 0)
            {
                at = new AxisTable_val(VertAxisOffset, m_bufTable);
            }

            return(at);
        }
Beispiel #2
0
        public AxisTable_val GetHorizAxisTable_val()
        {
            AxisTable_val at = null;

            if (HorizAxisOffset != 0)
            {
                at = new AxisTable_val(HorizAxisOffset, m_bufTable);
            }

            return(at);
        }
Beispiel #3
0
        public AxisTable_val GetVertAxisTable_val()
        {
            AxisTable_val at = null;

            if (VertAxisOffset != 0)
            {
                at = new AxisTable_val(VertAxisOffset, m_bufTable);
            }

            return at;
        }
Beispiel #4
0
        /************************
         * public methods
         */


        public bool Validate(Validator v, OTFontVal fontOwner)
        {
            bool bRet = true;

            if (v.PerformTest(T.BASE_Version))
            {
                if (Version.GetUint() == 0x00010000 || Version.GetUint() == 0x00010001)
                {
                    v.Pass(T.BASE_Version, P.BASE_P_Version, m_tag);
                }
                else
                {
                    v.Error(T.BASE_Version, E.BASE_E_Version, m_tag, "0x" + Version.GetUint().ToString("x8"));
                    bRet = false;
                }
            }

            if (v.PerformTest(T.BASE_HeaderOffsets))
            {
                if (HorizAxisOffset == 0)
                {
                    v.Pass(T.BASE_HeaderOffsets, P.BASE_P_HorizAxisOffset_null, m_tag);
                }
                else if (HorizAxisOffset < GetLength())
                {
                    v.Pass(T.BASE_HeaderOffsets, P.BASE_P_HorizAxisOffset_valid, m_tag);
                }
                else
                {
                    v.Error(T.BASE_HeaderOffsets, E.BASE_E_HorizAxisOffset_OutsideTable, m_tag);
                    bRet = false;
                }

                if (VertAxisOffset == 0)
                {
                    v.Pass(T.BASE_HeaderOffsets, P.BASE_P_VertAxisOffset_null, m_tag);
                }
                else if (VertAxisOffset < GetLength())
                {
                    v.Pass(T.BASE_HeaderOffsets, P.BASE_P_VertAxisOffset_valid, m_tag);
                }
                else
                {
                    v.Error(T.BASE_HeaderOffsets, E.BASE_E_VertAxisOffset_OutsideTable, m_tag);
                    bRet = false;
                }
            }

            if (v.PerformTest(T.BASE_HorizAxisTable))
            {
                AxisTable_val at = GetHorizAxisTable_val();
                if (at != null)
                {
                    at.Validate(v, "H Axis", this);
                }
            }

            if (v.PerformTest(T.BASE_VertAxisTable))
            {
                AxisTable_val at = GetVertAxisTable_val();
                if (at != null)
                {
                    at.Validate(v, "V Axis", this);
                }
            }
            // TODO: BASE Item Variation Store

            return(bRet);
        }
Beispiel #5
0
        public AxisTable_val GetHorizAxisTable_val()
        {
            AxisTable_val at = null;

            if (HorizAxisOffset != 0)
            {
                at = new AxisTable_val(HorizAxisOffset, m_bufTable);
            }

            return at;
        }