Categories:
Audio (13)
Biotech (29)
Bytecode (36)
Database (77)
Framework (7)
Game (7)
General (507)
Graphics (53)
I/O (35)
IDE (2)
JAR Tools (101)
JavaBeans (21)
JDBC (121)
JDK (426)
JSP (20)
Logging (108)
Mail (58)
Messaging (8)
Network (84)
PDF (97)
Report (7)
Scripting (84)
Security (32)
Server (121)
Servlet (26)
SOAP (24)
Testing (54)
Web (15)
XML (309)
Collections:
Other Resources:
What Is fop.jar in fop-2.7-bin.zip
What Is fop.jar? I got it from the fop-2.7-bin.zip.
✍: FYIcenter.com
fop.jar in fop-2.7-bin.zip is the JAR file for FOP 2.7, which
is a print formatter driven by XSL formatting objects (XSL-FO).
You can obtain fop.jar from the build folder of the fop-2.7-bin.zip file.
Below is the information about the fop.jar (2.2) file:
JAR File Size and Download Location:
JAR name: fop.jar, fop-2.7.jar Target JDK version: 1.7 File name: fop.jar File size: 4442817 bytes Release date: 20-Jan-2022 Download: Apache FOP Website
Java source code files for fop.jar:
⏎ org/apache/fop/fonts/AbstractCodePointMapping.java
/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ /* $Id: AbstractCodePointMapping.java 1616312 2014-08-06 19:19:31Z gadams $ */ package org.apache.fop.fonts; import java.util.Arrays; import org.apache.xmlgraphics.fonts.Glyphs; import org.apache.fop.util.CharUtilities; /** * Abstract base class for code point mapping classes (1-byte character encodings). */ public class AbstractCodePointMapping implements SingleByteEncoding { private final String name; private char[] latin1Map; private char[] characters; private char[] codepoints; private char[] unicodeMap; //code point to Unicode char private String[] charNameMap; //all character names in the encoding /** * Main constructor. * @param name the name of the encoding * @param table the table ([code point, unicode scalar value]+) with the mapping */ public AbstractCodePointMapping(String name, int[] table) { this(name, table, null); } /** * Extended constructor. * @param name the name of the encoding * @param table the table ([code point, unicode scalar value]+) with the mapping * @param charNameMap all character names in the encoding (a value of null will be converted * to ".notdef") */ public AbstractCodePointMapping(String name, int[] table, String[] charNameMap) { this.name = name; buildFromTable(table); if (charNameMap != null) { this.charNameMap = new String[256]; for (int i = 0; i < 256; i++) { String charName = charNameMap[i]; if (charName == null) { this.charNameMap[i] = Glyphs.NOTDEF; } else { this.charNameMap[i] = charName; } } } } /** * Builds the internal lookup structures based on a given table. * @param table the table ([code point, unicode scalar value]+) with the mapping */ protected void buildFromTable(int[] table) { int nonLatin1 = 0; latin1Map = new char[256]; unicodeMap = new char[256]; Arrays.fill(unicodeMap, CharUtilities.NOT_A_CHARACTER); for (int i = 0; i < table.length; i += 2) { char unicode = (char)table[i + 1]; if (unicode < 256) { if (latin1Map[unicode] == 0) { latin1Map[unicode] = (char) table[i]; } } else { ++nonLatin1; } if (unicodeMap[table[i]] == CharUtilities.NOT_A_CHARACTER) { unicodeMap[table[i]] = unicode; } } characters = new char[nonLatin1]; codepoints = new char[nonLatin1]; int top = 0; for (int i = 0; i < table.length; i += 2) { char c = (char) table[i + 1]; if (c >= 256) { ++top; for (int j = top - 1; j >= 0; --j) { if (j > 0 && characters[j - 1] >= c) { characters[j] = characters[j - 1]; codepoints[j] = codepoints[j - 1]; } else { characters[j] = c; codepoints[j] = (char) table[i]; break; } } } } } /** {@inheritDoc} */ public String getName() { return this.name; } /** {@inheritDoc} */ public final char mapChar(char c) { if (c < 256) { char latin1 = latin1Map[c]; if (latin1 > 0) { return latin1; } } int bot = 0; int top = characters.length - 1; while (top >= bot) { assert bot < 65536; assert top < 65536; int mid = (bot + top) >>> 1; char mc = characters[mid]; if (c == mc) { return codepoints[mid]; } else if (c < mc) { top = mid - 1; } else { bot = mid + 1; } } return NOT_FOUND_CODE_POINT; } /** * Returns the main Unicode value that is associated with the given code point in the encoding. * Note that multiple Unicode values can theoretically be mapped to one code point in the * encoding. * @param idx the code point in the encoding * @return the Unicode value (or \uFFFF (NOT A CHARACTER) if no Unicode value is at that point) */ public final char getUnicodeForIndex(int idx) { return this.unicodeMap[idx]; } /** {@inheritDoc} */ public final char[] getUnicodeCharMap() { char[] copy = new char[this.unicodeMap.length]; System.arraycopy(this.unicodeMap, 0, copy, 0, this.unicodeMap.length); return copy; } /** * Returns the index of a character/glyph with the given name. Note that this * method is relatively slow and should only be used for fallback operations. * @param charName the character name * @return the index of the character in the encoding or -1 if it doesn't exist */ public short getCodePointForGlyph(String charName) { String[] names = this.charNameMap; if (names == null) { names = getCharNameMap(); } for (short i = 0, c = (short)names.length; i < c; i++) { if (names[i].equals(charName)) { return i; } } return -1; } public String getNameFromCodePoint(int idx) { return getCharNameMap()[idx]; } /** {@inheritDoc} */ public String[] getCharNameMap() { if (this.charNameMap != null) { String[] copy = new String[this.charNameMap.length]; System.arraycopy(this.charNameMap, 0, copy, 0, this.charNameMap.length); return copy; } else { //Note: this is suboptimal but will probably never be used. String[] derived = new String[256]; Arrays.fill(derived, Glyphs.NOTDEF); for (int i = 0; i < 256; i++) { char c = getUnicodeForIndex(i); if (c != CharUtilities.NOT_A_CHARACTER) { String charName = Glyphs.charToGlyphName(c); if (charName.length() > 0) { derived[i] = charName; } } } return derived; } } /** {@inheritDoc} */ @Override public String toString() { return getName(); } }
⏎ org/apache/fop/fonts/AbstractCodePointMapping.java
Or download all of them as a single archive file:
File name: fop-2.7-src.zip File size: 3401312 bytes Release date: 2022-01-20 Download
⇒ "fop" Command in fop-2.7-bin.zip
2016-07-07, 6546👍, 0💬
Popular Posts:
What Is commons-net-ftp-2.0.jar? commons-net-ftp-2.0.jar is the JAR file for Apache Commons Net FTP ...
maven-core-3.8.6.jar is the JAR file for Apache Maven 3.8.6 Core module. Apache Maven is a software ...
MP3SPI is a Java Service Provider Interface that adds MP3 (MPEG 1/2/2.5 Layer 1/2/3) audio format su...
What Is junit-3.8.1.jar? junit-3.8.1.jar is the version 3.8.1 of JUnit JAR library file. JUnit is a ...
XOM™ is a new XML object model. It is an open source (LGPL), tree-based API for processing XML with ...