java.awt.Font#ITALIC源码实例Demo

下面列出了java.awt.Font#ITALIC 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: jdk8u_jdk   文件: Typeface.java
public String write() {
    if (isAbsolute()) {
        int style = Font.PLAIN;
        if (bold == DeriveStyle.On) {
            style = style | Font.BOLD;
        }
        if (italic == DeriveStyle.On) {
            style = style | Font.ITALIC;
        }

        return String.format(
                "new javax.swing.plaf.FontUIResource(\"%s\", %d, %d)",
                name, style, size);
    } else {
        return String.format(
                "new DerivedFont(\"%s\", %sf, %s, %s)",
                uiDefaultParentName, String.valueOf(sizeOffset), bold, italic);
    }
}
 
源代码2 项目: jdk8u60   文件: Typeface.java
public String write() {
    if (isAbsolute()) {
        int style = Font.PLAIN;
        if (bold == DeriveStyle.On) {
            style = style | Font.BOLD;
        }
        if (italic == DeriveStyle.On) {
            style = style | Font.ITALIC;
        }

        return String.format(
                "new javax.swing.plaf.FontUIResource(\"%s\", %d, %d)",
                name, style, size);
    } else {
        return String.format(
                "new DerivedFont(\"%s\", %sf, %s, %s)",
                uiDefaultParentName, String.valueOf(sizeOffset), bold, italic);
    }
}
 
源代码3 项目: jdk8u-jdk   文件: Typeface.java
public String write() {
    if (isAbsolute()) {
        int style = Font.PLAIN;
        if (bold == DeriveStyle.On) {
            style = style | Font.BOLD;
        }
        if (italic == DeriveStyle.On) {
            style = style | Font.ITALIC;
        }

        return String.format(
                "new javax.swing.plaf.FontUIResource(\"%s\", %d, %d)",
                name, style, size);
    } else {
        return String.format(
                "new DerivedFont(\"%s\", %sf, %s, %s)",
                uiDefaultParentName, String.valueOf(sizeOffset), bold, italic);
    }
}
 
源代码4 项目: mzmine2   文件: JFontStyleBox.java
public int getSelectedStyle() {
  switch ((Style) getSelectedItem()) {
    case PLAIN:
      return Font.PLAIN;
    case BOLD:
      return Font.BOLD;
    case ITALIC:
      return Font.ITALIC;
    case BOLDITALIC:
      return Font.BOLD + Font.ITALIC;
  }
  return Font.PLAIN;
}
 
源代码5 项目: jdk8u_jdk   文件: FileFontStrike.java
long getGlyphImageFromWindows(int glyphCode) {
    String family = fileFont.getFamilyName(null);
    int style = desc.style & Font.BOLD | desc.style & Font.ITALIC
        | fileFont.getStyle();
    int size = intPtSize;
    byte charset = fileFont.getSupportedCharset();
    long ptr = 0;
    if (useDirectWrite) {
        ptr = _getGlyphImageFromWindowsUsingDirectWrite(family, style, size, glyphCode, rotation, 
                dwMeasuringMode, dwRenderingMode, dwClearTypeLevel, dwEnhancedContrast, dwGamma, dwPixelGeometry, 
                charset);
        if (ptr == 0 && FontUtilities.isLogging()) {
            FontUtilities.getLogger().warning("Failed to render glyph via DirectWrite: code=" + glyphCode
                    + ", fontFamily=" + family + ", style=" + style + ", size=" + size + ", rotation=" + rotation);
        }
    }
    if (ptr == 0) {
        ptr = _getGlyphImageFromWindows(family, style, size, glyphCode,
                desc.fmHint == INTVAL_FRACTIONALMETRICS_ON, rotation, charset);
        if (ptr != 0 && (rotation == 0 || rotation == 2)) {
            /* Get the advance from the JDK rasterizer. This is mostly
             * necessary for the fractional metrics case, but there are
             * also some very small number (<0.25%) of marginal cases where
             * there is some rounding difference between windows and JDK.
             * After these are resolved, we can restrict this extra
             * work to the FM case.
             */
            float advance = getGlyphAdvance(glyphCode, false);
            StrikeCache.unsafe.putFloat(ptr + StrikeCache.xAdvanceOffset, advance);
        }
    }
    if (ptr == 0) {
        ptr = fileFont.getGlyphImage(pScalerContext, glyphCode);
    }
    return ptr;
}
 
源代码6 项目: development   文件: ImageProducer.java
protected BufferedImage createImage(Color bgColor) {
    BufferedImage bufferedImage = new BufferedImage(END_X, END_Y,
            BufferedImage.TYPE_INT_RGB);
    // create graphics and graphics2d
    final Graphics graphics = bufferedImage.getGraphics();
    final Graphics2D g2d = (Graphics2D) graphics;

    // set the background color
    g2d.setBackground(bgColor == null ? Color.gray : bgColor);
    g2d.clearRect(START_X, START_Y, END_X, END_Y);
    // create a pattern for the background
    createPattern(g2d);
    // set the fonts and font rendering hints
    Font font = new Font("Helvetica", Font.ITALIC, 30);
    g2d.setFont(font);
    FontRenderContext frc = g2d.getFontRenderContext();
    g2d.translate(10, 24);
    g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
            RenderingHints.VALUE_ANTIALIAS_ON);
    g2d.setStroke(new BasicStroke(3));

    // sets the foreground color
    g2d.setPaint(Color.DARK_GRAY);
    GlyphVector gv = font.createGlyphVector(frc, message);
    int numGlyphs = gv.getNumGlyphs();
    for (int ii = 0; ii < numGlyphs; ii++) {
        AffineTransform at;
        Point2D p = gv.getGlyphPosition(ii);
        at = AffineTransform.getTranslateInstance(p.getX(), p.getY());
        at.rotate(Math.PI / 8);
        Shape shape = gv.getGlyphOutline(ii);
        Shape sss = at.createTransformedShape(shape);
        g2d.fill(sss);
    }
    return blurImage(bufferedImage);
}
 
源代码7 项目: RipplePower   文件: Paint.java
private static int getFontStyle(FontStyle fontStyle) {
	switch (fontStyle) {
	case BOLD:
		return Font.BOLD;
	case BOLD_ITALIC:
		return Font.BOLD | Font.ITALIC;
	case ITALIC:
		return Font.ITALIC;
	case NORMAL:
		return Font.PLAIN;
	}

	throw new IllegalArgumentException("unknown fontStyle: " + fontStyle);
}
 
源代码8 项目: openjdk-8   文件: TrueTypeFont.java
private void setStyle(ByteBuffer os_2Table) {
        /* fsSelection is unsigned short at buffer offset 62 */
        if (os_2Table == null || os_2Table.capacity() < 64) {
            super.setStyle();
            return;
        }
        int fsSelection = os_2Table.getChar(62) & 0xffff;
        int italic  = fsSelection & fsSelectionItalicBit;
        int bold    = fsSelection & fsSelectionBoldBit;
        int regular = fsSelection & fsSelectionRegularBit;
//      System.out.println("platname="+platName+" font="+fullName+
//                         " family="+familyName+
//                         " R="+regular+" I="+italic+" B="+bold);
        if (regular!=0 && ((italic|bold)!=0)) {
            /* This is inconsistent. Try using the font name algorithm */
            super.setStyle();
            return;
        } else if ((regular|italic|bold) == 0) {
            /* No style specified. Try using the font name algorithm */
            super.setStyle();
            return;
        }
        switch (bold|italic) {
        case fsSelectionItalicBit:
            style = Font.ITALIC;
            break;
        case fsSelectionBoldBit:
            if (FontUtilities.isSolaris && platName.endsWith("HG-GothicB.ttf")) {
                /* Workaround for Solaris's use of a JA font that's marked as
                 * being designed bold, but is used as a PLAIN font.
                 */
                style = Font.PLAIN;
            } else {
                style = Font.BOLD;
            }
            break;
        case fsSelectionBoldBit|fsSelectionItalicBit:
            style = Font.BOLD|Font.ITALIC;
        }
    }
 
源代码9 项目: jpexs-decompiler   文件: SyntaxStyle.java
public void setItalic(Boolean italic) {
    if (italic) {
        fontStyle |= Font.ITALIC;
    } else {
        fontStyle = (fontStyle & (-1 ^ Font.ITALIC));
    }
}
 
源代码10 项目: netbeans   文件: SyntaxColoringPanel.java
private Font getFont (AttributeSet category) {
    String name = (String) getValue (currentLanguage, category, StyleConstants.FontFamily);
    assert(name != null);
    Integer size = (Integer) getValue (currentLanguage, category, StyleConstants.FontSize);
    assert(size != null);
    Boolean bold = (Boolean) getValue (currentLanguage, category, StyleConstants.Bold);
    if (bold == null) bold = Boolean.FALSE;
    Boolean italic = (Boolean) getValue (currentLanguage, category, StyleConstants.Italic);
    if (italic == null) italic = Boolean.FALSE;
    int style = bold.booleanValue () ? Font.BOLD : Font.PLAIN;
    if (italic.booleanValue ()) style += Font.ITALIC;
    return new Font (name, style, size.intValue ());
}
 
@Test
public void testFontBoldAndItalic() throws IOException {
	SignatureImageParameters imageParameters = new SignatureImageParameters();
	SignatureImageTextParameters textParameters = new SignatureImageTextParameters();
	textParameters.setText("My signature");
	textParameters.setTextColor(Color.RED);
	Font font = new Font(Font.SANS_SERIF, Font.BOLD + Font.ITALIC, 14);
	textParameters.setFont(new DSSJavaFont(font));
	imageParameters.setTextParameters(textParameters);
	signatureParameters.setImageParameters(imageParameters);

	signAndValidate("testFontBoldAndItalic");
}
 
源代码12 项目: jdk8u-dev-jdk   文件: FontConfiguration.java
protected static int getStyleIndex(int style) {
    switch (style) {
        case Font.PLAIN:
            return 0;
        case Font.BOLD:
            return 1;
        case Font.ITALIC:
            return 2;
        case Font.BOLD | Font.ITALIC:
            return 3;
        default:
            return 0;
    }
}
 
源代码13 项目: jdk8u-dev-jdk   文件: FontFamily.java
Font2D getClosestStyle(int style) {

        switch (style) {
            /* if you ask for a plain font try to return a non-italic one,
             * then a italic one, finally a bold italic one */
        case Font.PLAIN:
            if (bold != null) {
                return bold;
            } else if (italic != null) {
                return italic;
            } else {
                return bolditalic;
            }

            /* if you ask for a bold font try to return a non-italic one,
             * then a bold italic one, finally an italic one */
        case Font.BOLD:
            if (plain != null) {
                return plain;
            } else if (bolditalic != null) {
                return bolditalic;
            } else {
                return italic;
            }

            /* if you ask for a italic font try to return a  bold italic one,
             * then a plain one, finally an bold one */
        case Font.ITALIC:
            if (bolditalic != null) {
                return bolditalic;
            } else if (plain != null) {
                return plain;
            } else {
                return bold;
            }

        case Font.BOLD|Font.ITALIC:
            if (italic != null) {
                return italic;
            } else if (bold != null) {
                return bold;
            } else {
                return plain;
            }
        }
        return null;
    }
 
源代码14 项目: jdk8u60   文件: NativeFont.java
private void initNames() throws FontFormatException {
        /* Valid XLFD has exactly 14 "-" chars.
         * First run over the string to verify have at least this many
         * At the same time record the locations of the hyphens
         * so we can just pick the right substring later on
         */
        int[] hPos = new int[14];
        int hyphenCnt = 1;
        int pos = 1;

        String xlfd = platName.toLowerCase(Locale.ENGLISH);
        if (xlfd.startsWith("-")) {
            while (pos != -1 && hyphenCnt < 14) {
                pos = xlfd.indexOf('-', pos);
                if (pos != -1) {
                    hPos[hyphenCnt++] = pos;
                    pos++;
                }
            }
        }

        if (hyphenCnt == 14 && pos != -1) {

            /* Capitalise words in the Family name */
            String tmpFamily = xlfd.substring(hPos[1]+1, hPos[2]);
            StringBuilder sBuffer = new StringBuilder(tmpFamily);
            char ch = Character.toUpperCase(sBuffer.charAt(0));
            sBuffer.replace(0, 1, String.valueOf(ch));
            for (int i=1;i<sBuffer.length()-1; i++) {
                if (sBuffer.charAt(i) == ' ') {
                    ch = Character.toUpperCase(sBuffer.charAt(i+1));
                    sBuffer.replace(i+1, i+2, String.valueOf(ch));
                }
            }
            familyName = sBuffer.toString();

            String tmpWeight = xlfd.substring(hPos[2]+1, hPos[3]);
            String tmpSlant = xlfd.substring(hPos[3]+1, hPos[4]);

            String styleStr = null;

            if (tmpWeight.indexOf("bold") >= 0 ||
                tmpWeight.indexOf("demi") >= 0) {
                style |= Font.BOLD;
                styleStr = "Bold";
            }

            if (tmpSlant.equals("i") ||
                tmpSlant.indexOf("italic") >= 0) {
                style |= Font.ITALIC;

                if (styleStr == null) {
                    styleStr = "Italic";
                } else {
                    styleStr = styleStr + " Italic";
                }
            }
            else if (tmpSlant.equals("o") ||
                tmpSlant.indexOf("oblique") >= 0) {
                style |= Font.ITALIC;
                if (styleStr == null) {
                    styleStr = "Oblique";
                } else {
                    styleStr = styleStr + " Oblique";
                }
            }

            if (styleStr == null) {
                fullName = familyName;
            } else {
                fullName = familyName + " " + styleStr;
            }

            encoding = xlfd.substring(hPos[12]+1);
            if (encoding.startsWith("-")) {
                encoding = xlfd.substring(hPos[13]+1);
            }
            if (encoding.indexOf("fontspecific") >= 0) {
                if (tmpFamily.indexOf("dingbats") >= 0) {
                    encoding = "dingbats";
                } else if (tmpFamily.indexOf("symbol") >= 0) {
                    encoding = "symbol";
                } else {
                    encoding = "iso8859-1";
                }
            }
        } else {
            throw new FontFormatException("Bad native name " + platName);
//             familyName = "Unknown";
//             fullName = "Unknown";
//             style = Font.PLAIN;
//             encoding = "iso8859-1";
        }
    }
 
源代码15 项目: Bytecoder   文件: CompositeFont.java
public CompositeFont(String name, String[] compFileNames,
                     String[] compNames, int metricsSlotCnt,
                     int[] exclRanges, int[] maxIndexes,
                     boolean defer, SunFontManager fm) {

    handle = new Font2DHandle(this);
    fullName = name;
    componentFileNames = compFileNames;
    componentNames = compNames;
    if (compNames == null) {
        numSlots = componentFileNames.length;
    } else {
        numSlots = componentNames.length;
    }
    /* We will limit the number of slots to 254.
     * We store the slot for a glyph id in a byte and we may use one slot
     * for an EUDC font, and we may also create a composite
     * using this composite as a backup for a physical font.
     * So we want to leave space for the two additional slots.
     */
     numSlots = (numSlots <= 254) ? numSlots : 254;

    /* Only the first "numMetricsSlots" slots are used for font metrics.
     * the rest are considered "fallback" slots".
     */
    numMetricsSlots = metricsSlotCnt;
    exclusionRanges = exclRanges;
    maxIndices = maxIndexes;

    /*
     * See if this is a windows locale which has a system EUDC font.
     * If so add it as the final fallback component of the composite.
     * The caller could be responsible for this, but for now it seems
     * better that it is handled internally to the CompositeFont class.
     */
    if (fm.getEUDCFont() != null) {
        int msCnt = numMetricsSlots;
        int fbCnt = numSlots - msCnt;
        numSlots++;
        if (componentNames != null) {
            componentNames = new String[numSlots];
            System.arraycopy(compNames, 0, componentNames, 0, msCnt);
            componentNames[msCnt] = fm.getEUDCFont().getFontName(null);
            System.arraycopy(compNames, msCnt,
                             componentNames, msCnt+1, fbCnt);
        }
        if (componentFileNames != null) {
            componentFileNames = new String[numSlots];
            System.arraycopy(compFileNames, 0,
                              componentFileNames, 0, msCnt);
            System.arraycopy(compFileNames, msCnt,
                              componentFileNames, msCnt+1, fbCnt);
        }
        components = new PhysicalFont[numSlots];
        components[msCnt] = fm.getEUDCFont();
        deferredInitialisation = new boolean[numSlots];
        if (defer) {
            for (int i=0; i<numSlots-1; i++) {
                deferredInitialisation[i] = true;
            }
        }
    } else {
        components = new PhysicalFont[numSlots];
        deferredInitialisation = new boolean[numSlots];
        if (defer) {
            for (int i=0; i<numSlots; i++) {
                deferredInitialisation[i] = true;
            }
        }
    }

    fontRank = Font2D.FONT_CONFIG_RANK;

    int index = fullName.indexOf('.');
    if (index>0) {
        familyName = fullName.substring(0, index);
        /* composites don't call setStyle() as parsing the style
         * takes place at the same time as parsing the family name.
         * Do I really have to parse the style from the name?
         * Need to look into having the caller provide this. */
        if (index+1 < fullName.length()) {
            String styleStr = fullName.substring(index+1);
            if ("plain".equals(styleStr)) {
                style = Font.PLAIN;
            } else if ("bold".equals(styleStr)) {
                style = Font.BOLD;
            } else if ("italic".equals(styleStr)) {
                style = Font.ITALIC;
            } else if ("bolditalic".equals(styleStr)) {
                style = Font.BOLD | Font.ITALIC;
            }
        }
    } else {
        familyName = fullName;
    }
}
 
源代码16 项目: drmips   文件: CodeEditor.java
/**
 * Sets custom colors for the editor.
 */
public final void setColors() {
	SyntaxScheme scheme = getSyntaxScheme();
	boolean dark = DrMIPS.prefs.getBoolean(DrMIPS.DARK_THEME_PREF, DrMIPS.DEFAULT_DARK_THEME);
	
	setBackground(dark ? Color.BLACK : Color.WHITE);
	getScrollPane().getGutter().setBackground(dark ? Color.BLACK : Color.WHITE);
	setCaretColor(dark ? Color.WHITE : Color.BLACK);
	setCurrentLineHighlightColor(dark ? (new Color(32, 32, 32)) : (new Color(255, 255, 170)));
	setSelectionColor(dark ? (new Color(64, 64, 64)) : (new Color(200, 200, 255)));
	setMarginLineColor(dark ? Color.DARK_GRAY : Color.LIGHT_GRAY);

	Font keywordFont = new Font(getDefaultFont().getFamily(), Font.BOLD, getDefaultFont().getSize());
	Font commentFont = new Font(getDefaultFont().getFamily(), Font.ITALIC, getDefaultFont().getSize());
	Style identifierStyle = new Style(dark ? Color.WHITE : Color.BLACK);
	Style directiveStyle = new Style(dark ? new Color(0, 160, 160) : new Color(0, 128, 128), null, keywordFont);
	Style errorStyle = new Style(Color.RED);

	scheme.setStyle(Token.IDENTIFIER /* references to labels */,
	                identifierStyle);
	scheme.setStyle(Token.RESERVED_WORD /* instructions */,
	                new Style(dark ? new Color(128, 128, 255) : new Color(0, 0, 255), null, keywordFont));
	scheme.setStyle(Token.RESERVED_WORD_2 /* pseudo-instructions */,
	                new Style(dark ? new Color(255, 128, 255) : new Color(128, 0, 255), null, keywordFont));
	scheme.setStyle(Token.LITERAL_NUMBER_DECIMAL_INT /* integer numeric values */,
	                identifierStyle);
	scheme.setStyle(Token.OPERATOR /* argument separators (commas and parentheses) */,
	                identifierStyle);
	scheme.setStyle(Token.PREPROCESSOR /* .text and .data directives */,
	                directiveStyle);
	scheme.setStyle(Token.DATA_TYPE /* .word and .space directives */,
	                directiveStyle);
	scheme.setStyle(Token.ERROR_CHAR /* invalid characters (like special characters) */,
	                errorStyle);
	scheme.setStyle(Token.ERROR_IDENTIFIER /* invalid directives */,
	                errorStyle);
	scheme.setStyle(Token.ERROR_NUMBER_FORMAT /* invalid integer numeric values */,
	                errorStyle);
	scheme.setStyle(Token.FUNCTION /* labels */,
	                new Style(dark ? new Color(160, 160, 160) : new Color(96, 96, 96), null, commentFont));
	scheme.setStyle(Token.COMMENT_EOL /* comments */,
	                new Style(dark ? new Color(0, 160, 0) : new Color(0, 128, 0), null, commentFont));
	scheme.setStyle(Token.VARIABLE /* registers */,
	                new Style(dark ? new Color(255, 128, 0) : new Color(192, 96, 0), null, keywordFont));
}
 
protected FontUIResource getAnotherObject() {
    return new FontUIResource(null, Font.ITALIC, 11);
}
 
源代码18 项目: openjdk-8-source   文件: FontFamily.java
public Font2D getFont(int style) {

        switch (style) {

        case Font.PLAIN:
            return plain;

        case Font.BOLD:
            if (bold != null) {
                return bold;
            } else if (plain != null && plain.canDoStyle(style)) {
                    return plain;
            } else {
                return null;
            }

        case Font.ITALIC:
            if (italic != null) {
                return italic;
            } else if (plain != null && plain.canDoStyle(style)) {
                    return plain;
            } else {
                return null;
            }

        case Font.BOLD|Font.ITALIC:
            if (bolditalic != null) {
                return bolditalic;
            } else if (italic != null && italic.canDoStyle(style)) {
                    return italic;
            } else if (bold != null && bold.canDoStyle(style)) {
                    return italic;
            } else if (plain != null && plain.canDoStyle(style)) {
                    return plain;
            } else {
                return null;
            }
        default:
            return null;
        }
    }
 
protected FontUIResource getAnotherObject() {
    return new FontUIResource(null, Font.ITALIC, 11);
}
 
源代码20 项目: openjdk-8   文件: CompositeFont.java
public CompositeFont(String name, String[] compFileNames,
                     String[] compNames, int metricsSlotCnt,
                     int[] exclRanges, int[] maxIndexes,
                     boolean defer, SunFontManager fm) {

    handle = new Font2DHandle(this);
    fullName = name;
    componentFileNames = compFileNames;
    componentNames = compNames;
    if (compNames == null) {
        numSlots = componentFileNames.length;
    } else {
        numSlots = componentNames.length;
    }

    /* Only the first "numMetricsSlots" slots are used for font metrics.
     * the rest are considered "fallback" slots".
     */
    numMetricsSlots = metricsSlotCnt;
    exclusionRanges = exclRanges;
    maxIndices = maxIndexes;

    /*
     * See if this is a windows locale which has a system EUDC font.
     * If so add it as the final fallback component of the composite.
     * The caller could be responsible for this, but for now it seems
     * better that it is handled internally to the CompositeFont class.
     */
    if (fm.getEUDCFont() != null) {
        numSlots++;
        if (componentNames != null) {
            componentNames = new String[numSlots];
            System.arraycopy(compNames, 0, componentNames, 0, numSlots-1);
            componentNames[numSlots-1] =
                fm.getEUDCFont().getFontName(null);
        }
        if (componentFileNames != null) {
            componentFileNames = new String[numSlots];
            System.arraycopy(compFileNames, 0,
                              componentFileNames, 0, numSlots-1);
        }
        components = new PhysicalFont[numSlots];
        components[numSlots-1] = fm.getEUDCFont();
        deferredInitialisation = new boolean[numSlots];
        if (defer) {
            for (int i=0; i<numSlots-1; i++) {
                deferredInitialisation[i] = true;
            }
        }
    } else {
        components = new PhysicalFont[numSlots];
        deferredInitialisation = new boolean[numSlots];
        if (defer) {
            for (int i=0; i<numSlots; i++) {
                deferredInitialisation[i] = true;
            }
        }
    }

    fontRank = Font2D.FONT_CONFIG_RANK;

    int index = fullName.indexOf('.');
    if (index>0) {
        familyName = fullName.substring(0, index);
        /* composites don't call setStyle() as parsing the style
         * takes place at the same time as parsing the family name.
         * Do I really have to parse the style from the name?
         * Need to look into having the caller provide this. */
        if (index+1 < fullName.length()) {
            String styleStr = fullName.substring(index+1);
            if ("plain".equals(styleStr)) {
                style = Font.PLAIN;
            } else if ("bold".equals(styleStr)) {
                style = Font.BOLD;
            } else if ("italic".equals(styleStr)) {
                style = Font.ITALIC;
            } else if ("bolditalic".equals(styleStr)) {
                style = Font.BOLD | Font.ITALIC;
            }
        }
    } else {
        familyName = fullName;
    }
}