当前位置: 首页>>代码示例>>C#>>正文


C# IndexBaseItem类代码示例

本文整理汇总了C#中IndexBaseItem的典型用法代码示例。如果您正苦于以下问题:C# IndexBaseItem类的具体用法?C# IndexBaseItem怎么用?C# IndexBaseItem使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


IndexBaseItem类属于命名空间,在下文中一共展示了IndexBaseItem类的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: GetCID

 /** get a single CID font. The PDF architecture (1.4)
 * supports 16-bit strings only with CID CFF fonts, not
 * in Type-1 CFF fonts, so we convert the font to CID if
 * it is in the Type-1 format.
 * Two other tasks that we need to do are to select
 * only a single font from the CFF package (this again is
 * a PDF restriction) and to subset the CharStrings glyph
 * description.
 */
 
 
 public byte[] GetCID(String fontName)
 //throws java.io.FileNotFoundException
 {
     int j;
     for (j=0; j<fonts.Length; j++)
         if (fontName.Equals(fonts[j].name)) break;
     if (j==fonts.Length) return null;
     
     List<Item> l = new List<Item>();
     
     // copy the header
     
     Seek(0);
     
     int major = GetCard8();
     int minor = GetCard8();
     int hdrSize = GetCard8();
     int offSize = GetCard8();
     nextIndexOffset = hdrSize;
     
     l.Add(new RangeItem(buf,0,hdrSize));
     
     int nglyphs=-1, nstrings=-1;
     if ( ! fonts[j].isCID ) {
         // count the glyphs
         Seek(fonts[j].charstringsOffset);
         nglyphs = GetCard16();
         Seek(stringIndexOffset);
         nstrings = GetCard16()+standardStrings.Length;
         //System.err.Println("number of glyphs = "+nglyphs);
     }
     
     // create a name index
     
     l.Add(new UInt16Item((char)1)); // count
     l.Add(new UInt8Item((char)1)); // offSize
     l.Add(new UInt8Item((char)1)); // first offset
     l.Add(new UInt8Item((char)( 1+fonts[j].name.Length )));
     l.Add(new StringItem(fonts[j].name));
     
     // create the topdict Index
     
     
     l.Add(new UInt16Item((char)1)); // count
     l.Add(new UInt8Item((char)2)); // offSize
     l.Add(new UInt16Item((char)1)); // first offset
     OffsetItem topdictIndex1Ref = new IndexOffsetItem(2);
     l.Add(topdictIndex1Ref);
     IndexBaseItem topdictBase = new IndexBaseItem();
     l.Add(topdictBase);
     
     /*
     int maxTopdictLen = (topdictOffsets[j+1]-topdictOffsets[j])
                         + 9*2 // at most 9 new keys
                         + 8*5 // 8 new integer arguments
                         + 3*2;// 3 new SID arguments
     */
     
     //int    topdictNext = 0;
     //byte[] topdict = new byte[maxTopdictLen];
     
     OffsetItem charsetRef     = new DictOffsetItem();
     OffsetItem charstringsRef = new DictOffsetItem();
     OffsetItem fdarrayRef     = new DictOffsetItem();
     OffsetItem fdselectRef    = new DictOffsetItem();
     
     if ( !fonts[j].isCID ) {
         // create a ROS key
         l.Add(new DictNumberItem(nstrings));
         l.Add(new DictNumberItem(nstrings+1));
         l.Add(new DictNumberItem(0));
         l.Add(new UInt8Item((char)12));
         l.Add(new UInt8Item((char)30));
         // create a CIDCount key
         l.Add(new DictNumberItem(nglyphs));
         l.Add(new UInt8Item((char)12));
         l.Add(new UInt8Item((char)34));
         // What about UIDBase (12,35)? Don't know what is it.
         // I don't think we need FontName; the font I looked at didn't have it.
     }
     
     // create an FDArray key
     l.Add(fdarrayRef);
     l.Add(new UInt8Item((char)12));
     l.Add(new UInt8Item((char)36));
     // create an FDSelect key
     l.Add(fdselectRef);
     l.Add(new UInt8Item((char)12));
     l.Add(new UInt8Item((char)37));
//.........这里部分代码省略.........
开发者ID:Gianluigi,项目名称:dssnet,代码行数:101,代码来源:CFFFont.cs

示例2: SubrMarkerItem

 public SubrMarkerItem(OffsetItem offItem, IndexBaseItem indexBase) {
     this.offItem   = offItem;
     this.indexBase = indexBase;
 }
开发者ID:Gianluigi,项目名称:dssnet,代码行数:4,代码来源:CFFFont.cs


注:本文中的IndexBaseItem类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。