forked from sheetjs/sheetjs
266 lines
6.0 KiB
JavaScript
266 lines
6.0 KiB
JavaScript
/* [MS-OLEPS] 2.2 PropertyType */
|
|
{
|
|
var VT_EMPTY = 0x0000;
|
|
var VT_NULL = 0x0001;
|
|
var VT_I2 = 0x0002;
|
|
var VT_I4 = 0x0003;
|
|
var VT_R4 = 0x0004;
|
|
var VT_R8 = 0x0005;
|
|
var VT_CY = 0x0006;
|
|
var VT_DATE = 0x0007;
|
|
var VT_BSTR = 0x0008;
|
|
var VT_ERROR = 0x000A;
|
|
var VT_BOOL = 0x000B;
|
|
var VT_VARIANT = 0x000C;
|
|
var VT_DECIMAL = 0x000E;
|
|
var VT_I1 = 0x0010;
|
|
var VT_UI1 = 0x0011;
|
|
var VT_UI2 = 0x0012;
|
|
var VT_UI4 = 0x0013;
|
|
var VT_I8 = 0x0014;
|
|
var VT_UI8 = 0x0015;
|
|
var VT_INT = 0x0016;
|
|
var VT_UINT = 0x0017;
|
|
var VT_LPSTR = 0x001E;
|
|
var VT_LPWSTR = 0x001F;
|
|
var VT_FILETIME = 0x0040;
|
|
var VT_BLOB = 0x0041;
|
|
var VT_STREAM = 0x0042;
|
|
var VT_STORAGE = 0x0043;
|
|
var VT_STREAMED_Object = 0x0044;
|
|
var VT_STORED_Object = 0x0045;
|
|
var VT_BLOB_Object = 0x0046;
|
|
var VT_CF = 0x0047;
|
|
var VT_CLSID = 0x0048;
|
|
var VT_VERSIONED_STREAM = 0x0049;
|
|
var VT_VECTOR = 0x1000;
|
|
var VT_ARRAY = 0x2000;
|
|
|
|
var VT_STRING = 0x0050; // 2.3.3.1.11 VtString
|
|
var VT_USTR = 0x0051; // 2.3.3.1.12 VtUnalignedString
|
|
var VT_CUSTOM = [VT_STRING, VT_USTR];
|
|
}
|
|
|
|
/* [MS-OSHARED] 2.3.3.2.2.1 Document Summary Information PIDDSI */
|
|
var DocSummaryPIDDSI = {
|
|
0x01: { n: 'CodePage', t: VT_I2 },
|
|
0x02: { n: 'Category', t: VT_STRING },
|
|
0x03: { n: 'PresentationFormat', t: VT_STRING },
|
|
0x04: { n: 'ByteCount', t: VT_I4 },
|
|
0x05: { n: 'LineCount', t: VT_I4 },
|
|
0x06: { n: 'ParagraphCount', t: VT_I4 },
|
|
0x07: { n: 'SlideCount', t: VT_I4 },
|
|
0x08: { n: 'NoteCount', t: VT_I4 },
|
|
0x09: { n: 'HiddenCount', t: VT_I4 },
|
|
0x0a: { n: 'MultimediaClipCount', t: VT_I4 },
|
|
0x0b: { n: 'Scale', t: VT_BOOL },
|
|
0x0c: { n: 'HeadingPair', t: VT_VECTOR | VT_VARIANT },
|
|
0x0d: { n: 'DocParts', t: VT_VECTOR | VT_LPSTR },
|
|
0x0e: { n: 'Manager', t: VT_STRING },
|
|
0x0f: { n: 'Company', t: VT_STRING },
|
|
0x10: { n: 'LinksDirty', t: VT_BOOL },
|
|
0x11: { n: 'CharacterCount', t: VT_I4 },
|
|
0x13: { n: 'SharedDoc', t: VT_BOOL },
|
|
0x16: { n: 'HLinksChanged', t: VT_BOOL },
|
|
0x17: { n: 'AppVersion', t: VT_I4, p: 'version' },
|
|
0x1A: { n: 'ContentType', t: VT_STRING },
|
|
0x1B: { n: 'ContentStatus', t: VT_STRING },
|
|
0x1C: { n: 'Language', t: VT_STRING },
|
|
0x1D: { n: 'Version', t: VT_STRING },
|
|
0xFF: {}
|
|
};
|
|
|
|
/* [MS-OSHARED] 2.3.3.2.1.1 Summary Information Property Set PIDSI */
|
|
var SummaryPIDSI = {
|
|
0x01: { n: 'CodePage', t: VT_I2 },
|
|
0x02: { n: 'Title', t: VT_STRING },
|
|
0x03: { n: 'Subject', t: VT_STRING },
|
|
0x04: { n: 'Author', t: VT_STRING },
|
|
0x05: { n: 'Keywords', t: VT_STRING },
|
|
0x06: { n: 'Comments', t: VT_STRING },
|
|
0x07: { n: 'Template', t: VT_STRING },
|
|
0x08: { n: 'LastAuthor', t: VT_STRING },
|
|
0x09: { n: 'RevNumber', t: VT_STRING },
|
|
0x0A: { n: 'EditTime', t: VT_FILETIME },
|
|
0x0B: { n: 'LastPrinted', t: VT_FILETIME },
|
|
0x0C: { n: 'CreatedDate', t: VT_FILETIME },
|
|
0x0D: { n: 'ModifiedDate', t: VT_FILETIME },
|
|
0x0E: { n: 'PageCount', t: VT_I4 },
|
|
0x0F: { n: 'WordCount', t: VT_I4 },
|
|
0x10: { n: 'CharCount', t: VT_I4 },
|
|
0x11: { n: 'Thumbnail', t: VT_CF },
|
|
0x12: { n: 'ApplicationName', t: VT_LPSTR },
|
|
0x13: { n: 'DocumentSecurity', t: VT_I4 },
|
|
0xFF: {}
|
|
};
|
|
|
|
/* [MS-OLEPS] 2.18 */
|
|
var SpecialProperties = {
|
|
0x80000000: { n: 'Locale', t: VT_UI4 },
|
|
0x80000003: { n: 'Behavior', t: VT_UI4 },
|
|
0x72627262: {}
|
|
};
|
|
|
|
(function() {
|
|
for(var y in SpecialProperties) if(SpecialProperties.hasOwnProperty(y))
|
|
DocSummaryPIDDSI[y] = SummaryPIDSI[y] = SpecialProperties[y];
|
|
})();
|
|
|
|
/* [MS-XLS] 2.4.63 Country/Region codes */
|
|
var CountryEnum = {
|
|
0x0001: "US", // United States
|
|
0x0002: "CA", // Canada
|
|
0x0003: "", // Latin America (except Brazil)
|
|
0x0007: "RU", // Russia
|
|
0x0014: "EG", // Egypt
|
|
0x001E: "GR", // Greece
|
|
0x001F: "NL", // Netherlands
|
|
0x0020: "BE", // Belgium
|
|
0x0021: "FR", // France
|
|
0x0022: "ES", // Spain
|
|
0x0024: "HU", // Hungary
|
|
0x0027: "IT", // Italy
|
|
0x0029: "CH", // Switzerland
|
|
0x002B: "AT", // Austria
|
|
0x002C: "GB", // United Kingdom
|
|
0x002D: "DK", // Denmark
|
|
0x002E: "SE", // Sweden
|
|
0x002F: "NO", // Norway
|
|
0x0030: "PL", // Poland
|
|
0x0031: "DE", // Germany
|
|
0x0034: "MX", // Mexico
|
|
0x0037: "BR", // Brazil
|
|
0x003d: "AU", // Australia
|
|
0x0040: "NZ", // New Zealand
|
|
0x0042: "TH", // Thailand
|
|
0x0051: "JP", // Japan
|
|
0x0052: "KR", // Korea
|
|
0x0054: "VN", // Viet Nam
|
|
0x0056: "CN", // China
|
|
0x005A: "TR", // Turkey
|
|
0x0069: "JS", // Ramastan
|
|
0x00D5: "DZ", // Algeria
|
|
0x00D8: "MA", // Morocco
|
|
0x00DA: "LY", // Libya
|
|
0x015F: "PT", // Portugal
|
|
0x0162: "IS", // Iceland
|
|
0x0166: "FI", // Finland
|
|
0x01A4: "CZ", // Czech Republic
|
|
0x0376: "TW", // Taiwan
|
|
0x03C1: "LB", // Lebanon
|
|
0x03C2: "JO", // Jordan
|
|
0x03C3: "SY", // Syria
|
|
0x03C4: "IQ", // Iraq
|
|
0x03C5: "KW", // Kuwait
|
|
0x03C6: "SA", // Saudi Arabia
|
|
0x03CB: "AE", // United Arab Emirates
|
|
0x03CC: "IL", // Israel
|
|
0x03CE: "QA", // Qatar
|
|
0x03D5: "IR", // Iran
|
|
0xFFFF: "US" // United States
|
|
};
|
|
|
|
/* [MS-XLS] 2.5.127 */
|
|
var XLSFillPattern = [
|
|
null,
|
|
'solid',
|
|
'mediumGray',
|
|
'darkGray',
|
|
'lightGray',
|
|
'darkHorizontal',
|
|
'darkVertical',
|
|
'darkDown',
|
|
'darkUp',
|
|
'darkGrid',
|
|
'darkTrellis',
|
|
'lightHorizontal',
|
|
'lightVertical',
|
|
'lightDown',
|
|
'lightUp',
|
|
'lightGrid',
|
|
'lightTrellis',
|
|
'gray125',
|
|
'gray0625'
|
|
];
|
|
|
|
function rgbify(arr) { return arr.map(function(x) { return [(x>>16)&255,(x>>8)&255,x&255]; }); }
|
|
|
|
/* [MS-XLS] 2.5.161 */
|
|
var XLSIcv = rgbify([
|
|
/* Color Constants */
|
|
0x000000,
|
|
0xFFFFFF,
|
|
0xFF0000,
|
|
0x00FF00,
|
|
0x0000FF,
|
|
0xFFFF00,
|
|
0xFF00FF,
|
|
0x00FFFF,
|
|
|
|
/* Defaults */
|
|
0x000000,
|
|
0xFFFFFF,
|
|
0xFF0000,
|
|
0x00FF00,
|
|
0x0000FF,
|
|
0xFFFF00,
|
|
0xFF00FF,
|
|
0x00FFFF,
|
|
|
|
0x800000,
|
|
0x008000,
|
|
0x000080,
|
|
0x808000,
|
|
0x800080,
|
|
0x008080,
|
|
0xC0C0C0,
|
|
0x808080,
|
|
0x9999FF,
|
|
0x993366,
|
|
0xFFFFCC,
|
|
0xCCFFFF,
|
|
0x660066,
|
|
0xFF8080,
|
|
0x0066CC,
|
|
0xCCCCFF,
|
|
|
|
0x000080,
|
|
0xFF00FF,
|
|
0xFFFF00,
|
|
0x00FFFF,
|
|
0x800080,
|
|
0x800000,
|
|
0x008080,
|
|
0x0000FF,
|
|
0x00CCFF,
|
|
0xCCFFFF,
|
|
0xCCFFCC,
|
|
0xFFFF99,
|
|
0x99CCFF,
|
|
0xFF99CC,
|
|
0xCC99FF,
|
|
0xFFCC99,
|
|
|
|
0x3366FF,
|
|
0x33CCCC,
|
|
0x99CC00,
|
|
0xFFCC00,
|
|
0xFF9900,
|
|
0xFF6600,
|
|
0x666699,
|
|
0x969696,
|
|
0x003366,
|
|
0x339966,
|
|
0x003300,
|
|
0x333300,
|
|
0x993300,
|
|
0x993366,
|
|
0x333399,
|
|
0x333333,
|
|
|
|
/* Sheet */
|
|
0xFFFFFF,
|
|
0x000000
|
|
]);
|
|
|