Java 类java.awt.font.GlyphJustificationInfo 实例源码

项目:cn1    文件:GlyphJustificationInfoTest.java   
public final void testGlyphJustificationInfo() {
    GlyphJustificationInfo gji = new GlyphJustificationInfo(weight, growAbsorb, 
            growPriority, growLeftLimit, growRightLimit, shrinkAbsorb, 
            shrinkPriority, shrinkLeftLimit, shrinkRightLimit);

    assertEquals("weight", weight, gji.weight, 0F);
    assertEquals("growAbsorb", growAbsorb, gji.growAbsorb);
    assertEquals("growPriority", growPriority, gji.growPriority);
    assertEquals("growLeftLimit", growLeftLimit, gji.growLeftLimit, 0F);
    assertEquals("growRightLimit", growRightLimit, gji.growRightLimit, 0F);
    assertEquals("shrinkAbsorb", shrinkAbsorb, gji.shrinkAbsorb);
    assertEquals("shrinkPriority", shrinkPriority, gji.shrinkPriority);
    assertEquals("shrinkLeftLimit", shrinkLeftLimit, gji.shrinkLeftLimit, 0F);
    assertEquals("shrinkRightLimit", shrinkRightLimit, gji.shrinkRightLimit, 0F);

}
项目:cn1    文件:ImageGraphicAttributeTest.java   
public final void testGetJustificationInfo() {
    iga = new ImageGraphicAttribute(img, alignment);
    float advance = iga.getAdvance();
    GlyphJustificationInfo gji = new GlyphJustificationInfo(
            advance,
            false,
            GlyphJustificationInfo.PRIORITY_INTERCHAR,
            advance / 3,
            advance / 3,
            false,
            GlyphJustificationInfo.PRIORITY_WHITESPACE,
            0,
            0);
    equalsGlyphJustificationInfo(gji, iga.getJustificationInfo());

}
项目:cn1    文件:ShapeGraphicAttributeTest.java   
public final void testGetJustificationInfo() {
    sga = new ShapeGraphicAttribute(shape, alignment, stroke);
    float advance = sga.getAdvance();
    GlyphJustificationInfo gji = new GlyphJustificationInfo(
            advance,
            false,
            GlyphJustificationInfo.PRIORITY_INTERCHAR,
            advance / 3,
            advance / 3,
            false,
            GlyphJustificationInfo.PRIORITY_WHITESPACE,
            0,
            0);
    equalsGlyphJustificationInfo(gji, sga.getJustificationInfo());

}
项目:freeVM    文件:GlyphJustificationInfoTest.java   
public final void testGlyphJustificationInfo() {
    GlyphJustificationInfo gji = new GlyphJustificationInfo(weight, growAbsorb, 
            growPriority, growLeftLimit, growRightLimit, shrinkAbsorb, 
            shrinkPriority, shrinkLeftLimit, shrinkRightLimit);

    assertEquals("weight", weight, gji.weight, 0F);
    assertEquals("growAbsorb", growAbsorb, gji.growAbsorb);
    assertEquals("growPriority", growPriority, gji.growPriority);
    assertEquals("growLeftLimit", growLeftLimit, gji.growLeftLimit, 0F);
    assertEquals("growRightLimit", growRightLimit, gji.growRightLimit, 0F);
    assertEquals("shrinkAbsorb", shrinkAbsorb, gji.shrinkAbsorb);
    assertEquals("shrinkPriority", shrinkPriority, gji.shrinkPriority);
    assertEquals("shrinkLeftLimit", shrinkLeftLimit, gji.shrinkLeftLimit, 0F);
    assertEquals("shrinkRightLimit", shrinkRightLimit, gji.shrinkRightLimit, 0F);

}
项目:freeVM    文件:ImageGraphicAttributeTest.java   
public final void testGetJustificationInfo() {
    iga = new ImageGraphicAttribute(img, alignment);
    float advance = iga.getAdvance();
    GlyphJustificationInfo gji = new GlyphJustificationInfo(
            advance,
            false,
            GlyphJustificationInfo.PRIORITY_INTERCHAR,
            advance / 3,
            advance / 3,
            false,
            GlyphJustificationInfo.PRIORITY_WHITESPACE,
            0,
            0);
    equalsGlyphJustificationInfo(gji, iga.getJustificationInfo());

}
项目:freeVM    文件:ShapeGraphicAttributeTest.java   
public final void testGetJustificationInfo() {
    sga = new ShapeGraphicAttribute(shape, alignment, stroke);
    float advance = sga.getAdvance();
    GlyphJustificationInfo gji = new GlyphJustificationInfo(
            advance,
            false,
            GlyphJustificationInfo.PRIORITY_INTERCHAR,
            advance / 3,
            advance / 3,
            false,
            GlyphJustificationInfo.PRIORITY_WHITESPACE,
            0,
            0);
    equalsGlyphJustificationInfo(gji, sga.getJustificationInfo());

}
项目:freeVM    文件:GlyphJustificationInfoTest.java   
public final void testGlyphJustificationInfo() {
    GlyphJustificationInfo gji = new GlyphJustificationInfo(weight, growAbsorb, 
            growPriority, growLeftLimit, growRightLimit, shrinkAbsorb, 
            shrinkPriority, shrinkLeftLimit, shrinkRightLimit);

    assertEquals("weight", weight, gji.weight, 0F);
    assertEquals("growAbsorb", growAbsorb, gji.growAbsorb);
    assertEquals("growPriority", growPriority, gji.growPriority);
    assertEquals("growLeftLimit", growLeftLimit, gji.growLeftLimit, 0F);
    assertEquals("growRightLimit", growRightLimit, gji.growRightLimit, 0F);
    assertEquals("shrinkAbsorb", shrinkAbsorb, gji.shrinkAbsorb);
    assertEquals("shrinkPriority", shrinkPriority, gji.shrinkPriority);
    assertEquals("shrinkLeftLimit", shrinkLeftLimit, gji.shrinkLeftLimit, 0F);
    assertEquals("shrinkRightLimit", shrinkRightLimit, gji.shrinkRightLimit, 0F);

}
项目:freeVM    文件:ImageGraphicAttributeTest.java   
public final void testGetJustificationInfo() {
    iga = new ImageGraphicAttribute(img, alignment);
    float advance = iga.getAdvance();
    GlyphJustificationInfo gji = new GlyphJustificationInfo(
            advance,
            false,
            GlyphJustificationInfo.PRIORITY_INTERCHAR,
            advance / 3,
            advance / 3,
            false,
            GlyphJustificationInfo.PRIORITY_WHITESPACE,
            0,
            0);
    equalsGlyphJustificationInfo(gji, iga.getJustificationInfo());

}
项目:freeVM    文件:ShapeGraphicAttributeTest.java   
public final void testGetJustificationInfo() {
    sga = new ShapeGraphicAttribute(shape, alignment, stroke);
    float advance = sga.getAdvance();
    GlyphJustificationInfo gji = new GlyphJustificationInfo(
            advance,
            false,
            GlyphJustificationInfo.PRIORITY_INTERCHAR,
            advance / 3,
            advance / 3,
            false,
            GlyphJustificationInfo.PRIORITY_WHITESPACE,
            0,
            0);
    equalsGlyphJustificationInfo(gji, sga.getJustificationInfo());

}
项目:OpenJSharp    文件:StandardGlyphVector.java   
public GlyphJustificationInfo getGlyphJustificationInfo(int ix) {
    if (ix < 0 || ix >= glyphs.length) {
        throw new IndexOutOfBoundsException("ix = " + ix);
    }

    // currently we don't have enough information to do this right.  should
    // get info from the font and use real OT/GX justification.  Right now
    // sun/font/ExtendedTextSourceLabel assigns one of three infos
    // based on whether the char is kanji, space, or other.

    return null;
}
项目:OpenJSharp    文件:StandardGlyphVector.java   
@Override
public GlyphJustificationInfo getGlyphJustificationInfo(int ix) {
    if (ix < 0 || ix >= glyphs.length()) {
        throw new IndexOutOfBoundsException("ix = " + ix);
    }

    // currently we don't have enough information to do this right.  should
    // get info from the font and use real OT/GX justification.  Right now
    // sun/font/ExtendedTextSourceLabel assigns one of three infos
    // based on whether the char is kanji, space, or other.

    return null;
}
项目:jdk8u-jdk    文件:StandardGlyphVector.java   
public GlyphJustificationInfo getGlyphJustificationInfo(int ix) {
    if (ix < 0 || ix >= glyphs.length) {
        throw new IndexOutOfBoundsException("ix = " + ix);
    }

    // currently we don't have enough information to do this right.  should
    // get info from the font and use real OT/GX justification.  Right now
    // sun/font/ExtendedTextSourceLabel assigns one of three infos
    // based on whether the char is kanji, space, or other.

    return null;
}
项目:openjdk-jdk10    文件:StandardGlyphVector.java   
public GlyphJustificationInfo getGlyphJustificationInfo(int ix) {
    if (ix < 0 || ix >= glyphs.length) {
        throw new IndexOutOfBoundsException("ix = " + ix);
    }

    // currently we don't have enough information to do this right.  should
    // get info from the font and use real OT/GX justification.  Right now
    // sun/font/ExtendedTextSourceLabel assigns one of three infos
    // based on whether the char is kanji, space, or other.

    return null;
}
项目:openjdk9    文件:StandardGlyphVector.java   
public GlyphJustificationInfo getGlyphJustificationInfo(int ix) {
    if (ix < 0 || ix >= glyphs.length) {
        throw new IndexOutOfBoundsException("ix = " + ix);
    }

    // currently we don't have enough information to do this right.  should
    // get info from the font and use real OT/GX justification.  Right now
    // sun/font/ExtendedTextSourceLabel assigns one of three infos
    // based on whether the char is kanji, space, or other.

    return null;
}
项目:Push2Display    文件:SVGGVTGlyphVector.java   
/**
 * Returns the justification information for the glyph at the specified
 * index into this GlyphVector.
 */
public GlyphJustificationInfo getGlyphJustificationInfo(int glyphIndex) {
    if (glyphIndex < 0 || (glyphIndex > glyphs.length-1)) {
        throw new IndexOutOfBoundsException("glyphIndex: " + glyphIndex
        + ", is out of bounds. Should be between 0 and " + (glyphs.length-1) + ".");
    }
    return null;
}
项目:jdk8u_jdk    文件:StandardGlyphVector.java   
public GlyphJustificationInfo getGlyphJustificationInfo(int ix) {
    if (ix < 0 || ix >= glyphs.length) {
        throw new IndexOutOfBoundsException("ix = " + ix);
    }

    // currently we don't have enough information to do this right.  should
    // get info from the font and use real OT/GX justification.  Right now
    // sun/font/ExtendedTextSourceLabel assigns one of three infos
    // based on whether the char is kanji, space, or other.

    return null;
}
项目:lookaside_java-1.8.0-openjdk    文件:StandardGlyphVector.java   
public GlyphJustificationInfo getGlyphJustificationInfo(int ix) {
    if (ix < 0 || ix >= glyphs.length) {
        throw new IndexOutOfBoundsException("ix = " + ix);
    }

    // currently we don't have enough information to do this right.  should
    // get info from the font and use real OT/GX justification.  Right now
    // sun/font/ExtendedTextSourceLabel assigns one of three infos
    // based on whether the char is kanji, space, or other.

    return null;
}
项目:Push2Display    文件:SVGGVTGlyphVector.java   
/**
 * Returns the justification information for the glyph at the specified
 * index into this GlyphVector.
 */
public GlyphJustificationInfo getGlyphJustificationInfo(int glyphIndex) {
    if (glyphIndex < 0 || (glyphIndex > glyphs.length-1)) {
        throw new IndexOutOfBoundsException("glyphIndex: " + glyphIndex
        + ", is out of bounds. Should be between 0 and " + (glyphs.length-1) + ".");
    }
    return null;
}
项目:infobip-open-jdk-8    文件:StandardGlyphVector.java   
public GlyphJustificationInfo getGlyphJustificationInfo(int ix) {
    if (ix < 0 || ix >= glyphs.length) {
        throw new IndexOutOfBoundsException("ix = " + ix);
    }

    // currently we don't have enough information to do this right.  should
    // get info from the font and use real OT/GX justification.  Right now
    // sun/font/ExtendedTextSourceLabel assigns one of three infos
    // based on whether the char is kanji, space, or other.

    return null;
}
项目:jdk8u-dev-jdk    文件:StandardGlyphVector.java   
public GlyphJustificationInfo getGlyphJustificationInfo(int ix) {
    if (ix < 0 || ix >= glyphs.length) {
        throw new IndexOutOfBoundsException("ix = " + ix);
    }

    // currently we don't have enough information to do this right.  should
    // get info from the font and use real OT/GX justification.  Right now
    // sun/font/ExtendedTextSourceLabel assigns one of three infos
    // based on whether the char is kanji, space, or other.

    return null;
}
项目:feathers-sdk    文件:SVGGVTGlyphVector.java   
/**
 * Returns the justification information for the glyph at the specified
 * index into this GlyphVector.
 */
public GlyphJustificationInfo getGlyphJustificationInfo(int glyphIndex) {
    if (glyphIndex < 0 || (glyphIndex > glyphs.length-1)) {
        throw new IndexOutOfBoundsException("glyphIndex: " + glyphIndex
        + ", is out of bounds. Should be between 0 and " + (glyphs.length-1) + ".");
    }
    return null;
}
项目:jdk7-jdk    文件:StandardGlyphVector.java   
public GlyphJustificationInfo getGlyphJustificationInfo(int ix) {
    if (ix < 0 || ix >= glyphs.length) {
        throw new IndexOutOfBoundsException("ix = " + ix);
    }

    // currently we don't have enough information to do this right.  should
    // get info from the font and use real OT/GX justification.  Right now
    // sun/font/ExtendedTextSourceLabel assigns one of three infos
    // based on whether the char is kanji, space, or other.

    return null;
}
项目:openjdk-source-code-learn    文件:StandardGlyphVector.java   
public GlyphJustificationInfo getGlyphJustificationInfo(int ix) {
    if (ix < 0 || ix >= glyphs.length) {
        throw new IndexOutOfBoundsException("ix = " + ix);
    }

    // currently we don't have enough information to do this right.  should
    // get info from the font and use real OT/GX justification.  Right now
    // sun/font/ExtendedTextSourceLabel assigns one of three infos
    // based on whether the char is kanji, space, or other.

    return null;
}
项目:OLD-OpenJDK8    文件:StandardGlyphVector.java   
public GlyphJustificationInfo getGlyphJustificationInfo(int ix) {
    if (ix < 0 || ix >= glyphs.length) {
        throw new IndexOutOfBoundsException("ix = " + ix);
    }

    // currently we don't have enough information to do this right.  should
    // get info from the font and use real OT/GX justification.  Right now
    // sun/font/ExtendedTextSourceLabel assigns one of three infos
    // based on whether the char is kanji, space, or other.

    return null;
}
项目:cn1    文件:ImageGraphicAttributeTest.java   
private boolean equalsGlyphJustificationInfo(GlyphJustificationInfo info1, GlyphJustificationInfo info2){
    assertEquals("weight", info1.weight, info2.weight, 0F);
    assertEquals("growAbsorb", info1.growAbsorb, info2.growAbsorb);
    assertEquals("growPriority", info1.growPriority, info2.growPriority);
    assertEquals("growLeftLimit", info1.growLeftLimit, info2.growLeftLimit, 0F);
    assertEquals("growRightLimit", info1.growRightLimit, info2.growRightLimit, 0F);
    assertEquals("shrinkAbsorb", info1.shrinkAbsorb, info2.shrinkAbsorb);
    assertEquals("shrinkPriority", info1.shrinkPriority, info2.shrinkPriority);
    assertEquals("shrinkLeftLimit", info1.shrinkLeftLimit, info2.shrinkLeftLimit, 0F);
    assertEquals("shrinkRightLimit", info1.shrinkRightLimit, info2.shrinkRightLimit, 0F);

    return true;
}
项目:cn1    文件:ShapeGraphicAttributeTest.java   
private boolean equalsGlyphJustificationInfo(GlyphJustificationInfo info1, GlyphJustificationInfo info2){
    assertEquals("weight", info1.weight, info2.weight, 0F);
    assertEquals("growAbsorb", info1.growAbsorb, info2.growAbsorb);
    assertEquals("growPriority", info1.growPriority, info2.growPriority);
    assertEquals("growLeftLimit", info1.growLeftLimit, info2.growLeftLimit, 0F);
    assertEquals("growRightLimit", info1.growRightLimit, info2.growRightLimit, 0F);
    assertEquals("shrinkAbsorb", info1.shrinkAbsorb, info2.shrinkAbsorb);
    assertEquals("shrinkPriority", info1.shrinkPriority, info2.shrinkPriority);
    assertEquals("shrinkLeftLimit", info1.shrinkLeftLimit, info2.shrinkLeftLimit, 0F);
    assertEquals("shrinkRightLimit", info1.shrinkRightLimit, info2.shrinkRightLimit, 0F);

    return true;
}
项目:openjdk-jdk7u-jdk    文件:StandardGlyphVector.java   
public GlyphJustificationInfo getGlyphJustificationInfo(int ix) {
    if (ix < 0 || ix >= glyphs.length) {
        throw new IndexOutOfBoundsException("ix = " + ix);
    }

    // currently we don't have enough information to do this right.  should
    // get info from the font and use real OT/GX justification.  Right now
    // sun/font/ExtendedTextSourceLabel assigns one of three infos
    // based on whether the char is kanji, space, or other.

    return null;
}
项目:freeVM    文件:CommonGlyphVector.java   
/**
 * Returns a justification information for the glyph with specified glyph 
 * index.
 * @param glyphIndex index of a glyph which GlyphJustificationInfo is to be 
 * received   
 * @return a GlyphJustificationInfo object that contains glyph justification 
 * properties of the specified glyph
 */
@Override
public GlyphJustificationInfo getGlyphJustificationInfo(int glyphIndex) {
    // TODO : Find out the source of Justification info
    if (true) {
        throw new RuntimeException("Method is not implemented"); //$NON-NLS-1$
    }
    return null;
}
项目:freeVM    文件:ImageGraphicAttributeTest.java   
private boolean equalsGlyphJustificationInfo(GlyphJustificationInfo info1, GlyphJustificationInfo info2){
    assertEquals("weight", info1.weight, info2.weight, 0F);
    assertEquals("growAbsorb", info1.growAbsorb, info2.growAbsorb);
    assertEquals("growPriority", info1.growPriority, info2.growPriority);
    assertEquals("growLeftLimit", info1.growLeftLimit, info2.growLeftLimit, 0F);
    assertEquals("growRightLimit", info1.growRightLimit, info2.growRightLimit, 0F);
    assertEquals("shrinkAbsorb", info1.shrinkAbsorb, info2.shrinkAbsorb);
    assertEquals("shrinkPriority", info1.shrinkPriority, info2.shrinkPriority);
    assertEquals("shrinkLeftLimit", info1.shrinkLeftLimit, info2.shrinkLeftLimit, 0F);
    assertEquals("shrinkRightLimit", info1.shrinkRightLimit, info2.shrinkRightLimit, 0F);

    return true;
}
项目:freeVM    文件:ShapeGraphicAttributeTest.java   
private boolean equalsGlyphJustificationInfo(GlyphJustificationInfo info1, GlyphJustificationInfo info2){
    assertEquals("weight", info1.weight, info2.weight, 0F);
    assertEquals("growAbsorb", info1.growAbsorb, info2.growAbsorb);
    assertEquals("growPriority", info1.growPriority, info2.growPriority);
    assertEquals("growLeftLimit", info1.growLeftLimit, info2.growLeftLimit, 0F);
    assertEquals("growRightLimit", info1.growRightLimit, info2.growRightLimit, 0F);
    assertEquals("shrinkAbsorb", info1.shrinkAbsorb, info2.shrinkAbsorb);
    assertEquals("shrinkPriority", info1.shrinkPriority, info2.shrinkPriority);
    assertEquals("shrinkLeftLimit", info1.shrinkLeftLimit, info2.shrinkLeftLimit, 0F);
    assertEquals("shrinkRightLimit", info1.shrinkRightLimit, info2.shrinkRightLimit, 0F);

    return true;
}
项目:freeVM    文件:ImageGraphicAttributeTest.java   
private boolean equalsGlyphJustificationInfo(GlyphJustificationInfo info1, GlyphJustificationInfo info2){
    assertEquals("weight", info1.weight, info2.weight, 0F);
    assertEquals("growAbsorb", info1.growAbsorb, info2.growAbsorb);
    assertEquals("growPriority", info1.growPriority, info2.growPriority);
    assertEquals("growLeftLimit", info1.growLeftLimit, info2.growLeftLimit, 0F);
    assertEquals("growRightLimit", info1.growRightLimit, info2.growRightLimit, 0F);
    assertEquals("shrinkAbsorb", info1.shrinkAbsorb, info2.shrinkAbsorb);
    assertEquals("shrinkPriority", info1.shrinkPriority, info2.shrinkPriority);
    assertEquals("shrinkLeftLimit", info1.shrinkLeftLimit, info2.shrinkLeftLimit, 0F);
    assertEquals("shrinkRightLimit", info1.shrinkRightLimit, info2.shrinkRightLimit, 0F);

    return true;
}
项目:freeVM    文件:ShapeGraphicAttributeTest.java   
private boolean equalsGlyphJustificationInfo(GlyphJustificationInfo info1, GlyphJustificationInfo info2){
    assertEquals("weight", info1.weight, info2.weight, 0F);
    assertEquals("growAbsorb", info1.growAbsorb, info2.growAbsorb);
    assertEquals("growPriority", info1.growPriority, info2.growPriority);
    assertEquals("growLeftLimit", info1.growLeftLimit, info2.growLeftLimit, 0F);
    assertEquals("growRightLimit", info1.growRightLimit, info2.growRightLimit, 0F);
    assertEquals("shrinkAbsorb", info1.shrinkAbsorb, info2.shrinkAbsorb);
    assertEquals("shrinkPriority", info1.shrinkPriority, info2.shrinkPriority);
    assertEquals("shrinkLeftLimit", info1.shrinkLeftLimit, info2.shrinkLeftLimit, 0F);
    assertEquals("shrinkRightLimit", info1.shrinkRightLimit, info2.shrinkRightLimit, 0F);

    return true;
}
项目:openjdk-icedtea7    文件:StandardGlyphVector.java   
public GlyphJustificationInfo getGlyphJustificationInfo(int ix) {
    if (ix < 0 || ix >= glyphs.length) {
        throw new IndexOutOfBoundsException("ix = " + ix);
    }

    // currently we don't have enough information to do this right.  should
    // get info from the font and use real OT/GX justification.  Right now
    // sun/font/ExtendedTextSourceLabel assigns one of three infos
    // based on whether the char is kanji, space, or other.

    return null;
}
项目:OpenJSharp    文件:ExtendedTextSourceLabel.java   
public void getJustificationInfos(GlyphJustificationInfo[] infos, int infoStart, int charStart, int charLimit) {
  // This simple implementation only uses spaces for justification.
  // Since regular characters aren't justified, we don't need to deal with
  // special infos for combining marks or ligature substitution glyphs.
  // added character justification for kanjii only 2/22/98

  StandardGlyphVector gv = getGV();

  float[] charinfo = getCharinfo();

  float size = gv.getFont().getSize2D();

  GlyphJustificationInfo nullInfo =
    new GlyphJustificationInfo(0,
                               false, GlyphJustificationInfo.PRIORITY_NONE, 0, 0,
                               false, GlyphJustificationInfo.PRIORITY_NONE, 0, 0);

  GlyphJustificationInfo spaceInfo =
    new GlyphJustificationInfo(size,
                               true, GlyphJustificationInfo.PRIORITY_WHITESPACE, 0, size,
                               true, GlyphJustificationInfo.PRIORITY_WHITESPACE, 0, size / 4f);

  GlyphJustificationInfo kanjiInfo =
    new GlyphJustificationInfo(size,
                               true, GlyphJustificationInfo.PRIORITY_INTERCHAR, size, size,
                               false, GlyphJustificationInfo.PRIORITY_NONE, 0, 0);

  char[] chars = source.getChars();
  int offset = source.getStart();

  // assume data is 1-1 and either all rtl or all ltr, for now

  int numGlyphs = gv.getNumGlyphs();
  int minGlyph = 0;
  int maxGlyph = numGlyphs;
  boolean ltr = (source.getLayoutFlags() & 0x1) == 0;
  if (charStart != 0 || charLimit != source.getLength()) {
    if (ltr) {
      minGlyph = charStart;
      maxGlyph = charLimit;
    } else {
      minGlyph = numGlyphs - charLimit;
      maxGlyph = numGlyphs - charStart;
    }
  }

  for (int i = 0; i < numGlyphs; ++i) {
    GlyphJustificationInfo info = null;
    if (i >= minGlyph && i < maxGlyph) {
      if (charinfo[i * numvals + advx] == 0) { // combining marks don't justify
        info = nullInfo;
      } else {
        int ci = v2l(i); // 1-1 assumption again
        char c = chars[offset + ci];
        if (Character.isWhitespace(c)) {
          info = spaceInfo;
          // CJK, Hangul, CJK Compatibility areas
        } else if (c >= 0x4e00 &&
                   (c < 0xa000) ||
                   (c >= 0xac00 && c < 0xd7b0) ||
                   (c >= 0xf900 && c < 0xfb00)) {
          info = kanjiInfo;
        } else {
          info = nullInfo;
        }
      }
    }
    infos[infoStart + i] = info;
  }
}
项目:jdk8u-jdk    文件:ExtendedTextSourceLabel.java   
public void getJustificationInfos(GlyphJustificationInfo[] infos, int infoStart, int charStart, int charLimit) {
  // This simple implementation only uses spaces for justification.
  // Since regular characters aren't justified, we don't need to deal with
  // special infos for combining marks or ligature substitution glyphs.
  // added character justification for kanjii only 2/22/98

  StandardGlyphVector gv = getGV();

  float[] charinfo = getCharinfo();

  float size = gv.getFont().getSize2D();

  GlyphJustificationInfo nullInfo =
    new GlyphJustificationInfo(0,
                               false, GlyphJustificationInfo.PRIORITY_NONE, 0, 0,
                               false, GlyphJustificationInfo.PRIORITY_NONE, 0, 0);

  GlyphJustificationInfo spaceInfo =
    new GlyphJustificationInfo(size,
                               true, GlyphJustificationInfo.PRIORITY_WHITESPACE, 0, size,
                               true, GlyphJustificationInfo.PRIORITY_WHITESPACE, 0, size / 4f);

  GlyphJustificationInfo kanjiInfo =
    new GlyphJustificationInfo(size,
                               true, GlyphJustificationInfo.PRIORITY_INTERCHAR, size, size,
                               false, GlyphJustificationInfo.PRIORITY_NONE, 0, 0);

  char[] chars = source.getChars();
  int offset = source.getStart();

  // assume data is 1-1 and either all rtl or all ltr, for now

  int numGlyphs = gv.getNumGlyphs();
  int minGlyph = 0;
  int maxGlyph = numGlyphs;
  boolean ltr = (source.getLayoutFlags() & 0x1) == 0;
  if (charStart != 0 || charLimit != source.getLength()) {
    if (ltr) {
      minGlyph = charStart;
      maxGlyph = charLimit;
    } else {
      minGlyph = numGlyphs - charLimit;
      maxGlyph = numGlyphs - charStart;
    }
  }

  for (int i = 0; i < numGlyphs; ++i) {
    GlyphJustificationInfo info = null;
    if (i >= minGlyph && i < maxGlyph) {
      if (charinfo[i * numvals + advx] == 0) { // combining marks don't justify
        info = nullInfo;
      } else {
        int ci = v2l(i); // 1-1 assumption again
        char c = chars[offset + ci];
        if (Character.isWhitespace(c)) {
          info = spaceInfo;
          // CJK, Hangul, CJK Compatibility areas
        } else if (c >= 0x4e00 &&
                   (c < 0xa000) ||
                   (c >= 0xac00 && c < 0xd7b0) ||
                   (c >= 0xf900 && c < 0xfb00)) {
          info = kanjiInfo;
        } else {
          info = nullInfo;
        }
      }
    }
    infos[infoStart + i] = info;
  }
}
项目:openjdk-jdk10    文件:ExtendedTextSourceLabel.java   
public void getJustificationInfos(GlyphJustificationInfo[] infos, int infoStart, int charStart, int charLimit) {
  // This simple implementation only uses spaces for justification.
  // Since regular characters aren't justified, we don't need to deal with
  // special infos for combining marks or ligature substitution glyphs.
  // added character justification for kanjii only 2/22/98

  StandardGlyphVector gv = getGV();

  float[] charinfo = getCharinfo();

  float size = gv.getFont().getSize2D();

  GlyphJustificationInfo nullInfo =
    new GlyphJustificationInfo(0,
                               false, GlyphJustificationInfo.PRIORITY_NONE, 0, 0,
                               false, GlyphJustificationInfo.PRIORITY_NONE, 0, 0);

  GlyphJustificationInfo spaceInfo =
    new GlyphJustificationInfo(size,
                               true, GlyphJustificationInfo.PRIORITY_WHITESPACE, 0, size,
                               true, GlyphJustificationInfo.PRIORITY_WHITESPACE, 0, size / 4f);

  GlyphJustificationInfo kanjiInfo =
    new GlyphJustificationInfo(size,
                               true, GlyphJustificationInfo.PRIORITY_INTERCHAR, size, size,
                               false, GlyphJustificationInfo.PRIORITY_NONE, 0, 0);

  char[] chars = source.getChars();
  int offset = source.getStart();

  // assume data is 1-1 and either all rtl or all ltr, for now

  int numGlyphs = gv.getNumGlyphs();
  int minGlyph = 0;
  int maxGlyph = numGlyphs;
  boolean ltr = (source.getLayoutFlags() & 0x1) == 0;
  if (charStart != 0 || charLimit != source.getLength()) {
    if (ltr) {
      minGlyph = charStart;
      maxGlyph = charLimit;
    } else {
      minGlyph = numGlyphs - charLimit;
      maxGlyph = numGlyphs - charStart;
    }
  }

  for (int i = 0; i < numGlyphs; ++i) {
    GlyphJustificationInfo info = null;
    if (i >= minGlyph && i < maxGlyph) {
      if (charinfo[i * numvals + advx] == 0) { // combining marks don't justify
        info = nullInfo;
      } else {
        int ci = v2l(i); // 1-1 assumption again
        char c = chars[offset + ci];
        if (Character.isWhitespace(c)) {
          info = spaceInfo;
          // CJK, Hangul, CJK Compatibility areas
        } else if (c >= 0x4e00 &&
                   (c < 0xa000) ||
                   (c >= 0xac00 && c < 0xd7b0) ||
                   (c >= 0xf900 && c < 0xfb00)) {
          info = kanjiInfo;
        } else {
          info = nullInfo;
        }
      }
    }
    infos[infoStart + i] = info;
  }
}
项目:openjdk9    文件:ExtendedTextSourceLabel.java   
public void getJustificationInfos(GlyphJustificationInfo[] infos, int infoStart, int charStart, int charLimit) {
  // This simple implementation only uses spaces for justification.
  // Since regular characters aren't justified, we don't need to deal with
  // special infos for combining marks or ligature substitution glyphs.
  // added character justification for kanjii only 2/22/98

  StandardGlyphVector gv = getGV();

  float[] charinfo = getCharinfo();

  float size = gv.getFont().getSize2D();

  GlyphJustificationInfo nullInfo =
    new GlyphJustificationInfo(0,
                               false, GlyphJustificationInfo.PRIORITY_NONE, 0, 0,
                               false, GlyphJustificationInfo.PRIORITY_NONE, 0, 0);

  GlyphJustificationInfo spaceInfo =
    new GlyphJustificationInfo(size,
                               true, GlyphJustificationInfo.PRIORITY_WHITESPACE, 0, size,
                               true, GlyphJustificationInfo.PRIORITY_WHITESPACE, 0, size / 4f);

  GlyphJustificationInfo kanjiInfo =
    new GlyphJustificationInfo(size,
                               true, GlyphJustificationInfo.PRIORITY_INTERCHAR, size, size,
                               false, GlyphJustificationInfo.PRIORITY_NONE, 0, 0);

  char[] chars = source.getChars();
  int offset = source.getStart();

  // assume data is 1-1 and either all rtl or all ltr, for now

  int numGlyphs = gv.getNumGlyphs();
  int minGlyph = 0;
  int maxGlyph = numGlyphs;
  boolean ltr = (source.getLayoutFlags() & 0x1) == 0;
  if (charStart != 0 || charLimit != source.getLength()) {
    if (ltr) {
      minGlyph = charStart;
      maxGlyph = charLimit;
    } else {
      minGlyph = numGlyphs - charLimit;
      maxGlyph = numGlyphs - charStart;
    }
  }

  for (int i = 0; i < numGlyphs; ++i) {
    GlyphJustificationInfo info = null;
    if (i >= minGlyph && i < maxGlyph) {
      if (charinfo[i * numvals + advx] == 0) { // combining marks don't justify
        info = nullInfo;
      } else {
        int ci = v2l(i); // 1-1 assumption again
        char c = chars[offset + ci];
        if (Character.isWhitespace(c)) {
          info = spaceInfo;
          // CJK, Hangul, CJK Compatibility areas
        } else if (c >= 0x4e00 &&
                   (c < 0xa000) ||
                   (c >= 0xac00 && c < 0xd7b0) ||
                   (c >= 0xf900 && c < 0xfb00)) {
          info = kanjiInfo;
        } else {
          info = nullInfo;
        }
      }
    }
    infos[infoStart + i] = info;
  }
}
项目:Push2Display    文件:MultiGlyphVector.java   
/**
 * Returns the justification information for the glyph at the specified
 * index into this GlyphVector.
 */
public GlyphJustificationInfo getGlyphJustificationInfo(int glyphIndex) {
    int idx = getGVIdx(glyphIndex);
    return gvs[idx].getGlyphJustificationInfo(glyphIndex-off[idx]);
}
项目:jdk8u_jdk    文件:ExtendedTextSourceLabel.java   
public void getJustificationInfos(GlyphJustificationInfo[] infos, int infoStart, int charStart, int charLimit) {
  // This simple implementation only uses spaces for justification.
  // Since regular characters aren't justified, we don't need to deal with
  // special infos for combining marks or ligature substitution glyphs.
  // added character justification for kanjii only 2/22/98

  StandardGlyphVector gv = getGV();

  float[] charinfo = getCharinfo();

  float size = gv.getFont().getSize2D();

  GlyphJustificationInfo nullInfo =
    new GlyphJustificationInfo(0,
                               false, GlyphJustificationInfo.PRIORITY_NONE, 0, 0,
                               false, GlyphJustificationInfo.PRIORITY_NONE, 0, 0);

  GlyphJustificationInfo spaceInfo =
    new GlyphJustificationInfo(size,
                               true, GlyphJustificationInfo.PRIORITY_WHITESPACE, 0, size,
                               true, GlyphJustificationInfo.PRIORITY_WHITESPACE, 0, size / 4f);

  GlyphJustificationInfo kanjiInfo =
    new GlyphJustificationInfo(size,
                               true, GlyphJustificationInfo.PRIORITY_INTERCHAR, size, size,
                               false, GlyphJustificationInfo.PRIORITY_NONE, 0, 0);

  char[] chars = source.getChars();
  int offset = source.getStart();

  // assume data is 1-1 and either all rtl or all ltr, for now

  int numGlyphs = gv.getNumGlyphs();
  int minGlyph = 0;
  int maxGlyph = numGlyphs;
  boolean ltr = (source.getLayoutFlags() & 0x1) == 0;
  if (charStart != 0 || charLimit != source.getLength()) {
    if (ltr) {
      minGlyph = charStart;
      maxGlyph = charLimit;
    } else {
      minGlyph = numGlyphs - charLimit;
      maxGlyph = numGlyphs - charStart;
    }
  }

  for (int i = 0; i < numGlyphs; ++i) {
    GlyphJustificationInfo info = null;
    if (i >= minGlyph && i < maxGlyph) {
      if (charinfo[i * numvals + advx] == 0) { // combining marks don't justify
        info = nullInfo;
      } else {
        int ci = v2l(i); // 1-1 assumption again
        char c = chars[offset + ci];
        if (Character.isWhitespace(c)) {
          info = spaceInfo;
          // CJK, Hangul, CJK Compatibility areas
        } else if (c >= 0x4e00 &&
                   (c < 0xa000) ||
                   (c >= 0xac00 && c < 0xd7b0) ||
                   (c >= 0xf900 && c < 0xfb00)) {
          info = kanjiInfo;
        } else {
          info = nullInfo;
        }
      }
    }
    infos[infoStart + i] = info;
  }
}
项目:lookaside_java-1.8.0-openjdk    文件:ExtendedTextSourceLabel.java   
public void getJustificationInfos(GlyphJustificationInfo[] infos, int infoStart, int charStart, int charLimit) {
  // This simple implementation only uses spaces for justification.
  // Since regular characters aren't justified, we don't need to deal with
  // special infos for combining marks or ligature substitution glyphs.
  // added character justification for kanjii only 2/22/98

  StandardGlyphVector gv = getGV();

  float[] charinfo = getCharinfo();

  float size = gv.getFont().getSize2D();

  GlyphJustificationInfo nullInfo =
    new GlyphJustificationInfo(0,
                               false, GlyphJustificationInfo.PRIORITY_NONE, 0, 0,
                               false, GlyphJustificationInfo.PRIORITY_NONE, 0, 0);

  GlyphJustificationInfo spaceInfo =
    new GlyphJustificationInfo(size,
                               true, GlyphJustificationInfo.PRIORITY_WHITESPACE, 0, size,
                               true, GlyphJustificationInfo.PRIORITY_WHITESPACE, 0, size / 4f);

  GlyphJustificationInfo kanjiInfo =
    new GlyphJustificationInfo(size,
                               true, GlyphJustificationInfo.PRIORITY_INTERCHAR, size, size,
                               false, GlyphJustificationInfo.PRIORITY_NONE, 0, 0);

  char[] chars = source.getChars();
  int offset = source.getStart();

  // assume data is 1-1 and either all rtl or all ltr, for now

  int numGlyphs = gv.getNumGlyphs();
  int minGlyph = 0;
  int maxGlyph = numGlyphs;
  boolean ltr = (source.getLayoutFlags() & 0x1) == 0;
  if (charStart != 0 || charLimit != source.getLength()) {
    if (ltr) {
      minGlyph = charStart;
      maxGlyph = charLimit;
    } else {
      minGlyph = numGlyphs - charLimit;
      maxGlyph = numGlyphs - charStart;
    }
  }

  for (int i = 0; i < numGlyphs; ++i) {
    GlyphJustificationInfo info = null;
    if (i >= minGlyph && i < maxGlyph) {
      if (charinfo[i * numvals + advx] == 0) { // combining marks don't justify
        info = nullInfo;
      } else {
        int ci = v2l(i); // 1-1 assumption again
        char c = chars[offset + ci];
        if (Character.isWhitespace(c)) {
          info = spaceInfo;
          // CJK, Hangul, CJK Compatibility areas
        } else if (c >= 0x4e00 &&
                   (c < 0xa000) ||
                   (c >= 0xac00 && c < 0xd7b0) ||
                   (c >= 0xf900 && c < 0xfb00)) {
          info = kanjiInfo;
        } else {
          info = nullInfo;
        }
      }
    }
    infos[infoStart + i] = info;
  }
}