Categories:
Audio (13)
Biotech (29)
Bytecode (36)
Database (77)
Framework (7)
Game (7)
General (507)
Graphics (53)
I/O (35)
IDE (2)
JAR Tools (102)
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 (322)
Collections:
Other Resources:
What Is poi-scratchpad-5.2.3.jar?
What Is poi-scratchpad-5.2.3.jar?
✍: FYIcenter.com
poi-scratchpad-5.2.3.jar is one of the JAR files for Apache POI 5.2.3, which
provides an API for Microsoft document files of Word, Excel, PowerPoint, and Visio.
poi-scratchpad-5.2.3.jar provides support for older versions of Microsoft document files like Word 97, Excel 97, PowerPoint 97, etc.
poi-scratchpad-5.2.3.jar is distributed as part of the poi-bin-5.2.3-20220909.zip download file.
JAR File Size and Download Location:
JAR name: poi-scratchpad-5.2.3.jar Target JDK version: 9 Dependency: poi.jar File name: poi-scratchpad.jar, poi-scratchpad-5.2.3.jar File size: 1897121 bytes Release date: 09-09-2022 Download: Apache POI Website
Here are Java Source Code files for poi-scratchpad-5.2.3.jar:
⏎ org/apache/poi/hwpf/model/OldFfn.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.
==================================================================== */
package org.apache.poi.hwpf.model;
import java.nio.charset.Charset;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.apache.poi.common.usermodel.fonts.FontCharset;
import org.apache.poi.util.Internal;
import org.apache.poi.util.LittleEndianConsts;
import org.apache.poi.util.StringUtil;
import static org.apache.logging.log4j.util.Unbox.box;
/**
* Word 6.0 Font information
*/
@Internal
public final class OldFfn {
private static final Logger LOG = LogManager.getLogger(OldFfn.class);
private final byte _chs;// character set identifier
private final String fontName;
private final String altFontName;
private final int length; //length in bytes for this record
/**
* try to read an OldFfn starting at offset; read no farther than end
*
* @param buf buffer from which to read
* @param offset offset at which to start
* @param fontTableEnd read no farther than this
* @return an OldFfn or null if asked to read beyond end
*/
static OldFfn build(byte[] buf, int offset, int fontTableEnd) {
int start = offset;
//preliminary bytes
if (offset + 6 > fontTableEnd) {
return null;
}
//first byte
short fontDescriptionLength = buf[offset];
offset += 1;
if (offset + fontDescriptionLength > fontTableEnd) {
LOG.atWarn().log("Asked to read beyond font table end. Skipping font");
return null;
}
//no idea what these 3 bytes do
offset += 3;
byte chs = buf[offset];
Charset charset = null;
FontCharset wmfCharset = FontCharset.valueOf(chs & 0xff);
if (wmfCharset == null) {
LOG.atWarn().log("Couldn't find font for type: {}", box((chs & 0xff)));
} else {
charset = wmfCharset.getCharset();
}
charset = charset == null ? StringUtil.WIN_1252 : charset;
offset += LittleEndianConsts.BYTE_SIZE;
//if this byte here == 7, it _may_ signify existence of
//an altername font name
//not sure what the byte after the _chs does
offset += LittleEndianConsts.BYTE_SIZE;
int fontNameLength = -1;
for (int i = offset; i < fontTableEnd; i++) {
if (buf[i] == 0) {
fontNameLength = i - offset;
break;
}
}
if (fontNameLength == -1) {
LOG.atWarn().log("Couldn't find the zero-byte delimited font name length");
return null;
}
String fontName = new String(buf, offset, fontNameLength, charset);
String altFontName = null;
int altFontNameLength = -1;
offset += fontNameLength + 1;
if (offset - start < fontDescriptionLength) {
for (int i = offset; i <= start + fontDescriptionLength; i++) {
if (buf[i] == 0) {
altFontNameLength = i - offset;
break;
}
}
if (altFontNameLength > -1) {
altFontName = new String(buf, offset, altFontNameLength, charset);
}
}
//reset to 0 for length calculation
altFontNameLength = (altFontNameLength < 0) ? 0 : altFontNameLength + 1;//add one for zero byte
int len = LittleEndianConsts.INT_SIZE + LittleEndianConsts.BYTE_SIZE + LittleEndianConsts.BYTE_SIZE +//6 starting bytes
fontNameLength + altFontNameLength + 1;//+1 is for the zero byte
//this len should == fontDescriptionLength
return new OldFfn(chs, fontName, altFontName, len);
}
public OldFfn(byte charsetIdentifier, String fontName, String altFontName, int length) {
this._chs = charsetIdentifier;
this.fontName = fontName;
this.altFontName = altFontName;
this.length = length;
}
public byte getChs() {
return _chs;
}
public String getMainFontName() {
return fontName;
}
/**
* @return altFontName if it exists, null otherwise
*/
public String getAltFontName() {
return altFontName;
}
/**
* @return length in bytes for this record
*/
public int getLength() {
return length;
}
@Override
public String toString() {
return "OldFfn{" +
"_chs=" + (_chs & 0xff) +
", fontName='" + fontName + '\'' +
", altFontName='" + altFontName + '\'' +
", length=" + length +
'}';
}
}
⏎ org/apache/poi/hwpf/model/OldFfn.java
Or download all of them as a single archive file:
File name: poi-scratchpad-5.2.3-src.zip File size: 1238744 bytes Release date: 2022-09-09 Download
⇒ What Is poi-examples-5.2.3.jar?
⇐ What Is poi-excelant-5.2.3.jar?
2017-03-22, ≈150🔥, 0💬
Popular Posts:
JDK 11 jdk.scripting.nashorn.jm odis the JMOD file for JDK 11 Scripting Nashorn module. JDK 11 Scrip...
JDK 17 jdk.compiler.jmod is the JMOD file for JDK 17 Compiler tool, which can be invoked by the "jav...
Apache Ant Source Code Files are inside the Apache Ant source package file like apache-ant-1.10.10-s...
JDK 17 java.sql.jmod is the JMOD file for JDK 17 SQL (Structured Query Language) module. JDK 17 SQL ...
maven-model-builder-3.8. 6.jaris the JAR file for Apache Maven 3.8.6 Model Builder module. Apache Ma...