Commit 4f33c2f0 authored by Oleg.Korshul's avatar Oleg.Korshul Committed by Alexander Trofimov

удалил ненужное

git-svn-id: svn://fileserver/activex/AVS/Sources/TeamlabOffice/trunk/ServerComponents@64217 954022d7-b5bf-4e40-9824-e11837661b57
parent 1b60d983
......@@ -184,9 +184,6 @@ ASCImageStudio3/AVSImageView5/Tracking/_Tracking.h svn_mime_002dtype=application
ASCImageStudio3/AVSImageView5/cursor1.cur svn_mime_002dtype=application%2Foctet-stream
ASCImageStudio3/AVSImageView5/cursor2.cur svn_mime_002dtype=application%2Foctet-stream
ASCImageStudio3/AVSImageView5/pdb_maker.exe svn_mime_002dtype=application%2Foctet-stream
ASCOfficeDjVuFile/Test/Test/bin/Debug/Interop.AVSOfficeDjVuFile.dll svn_mime_002dtype=application%2Foctet-stream
ASCOfficeDjVuFile/Test/Test/bin/Debug/Test.exe svn_mime_002dtype=application%2Foctet-stream
ASCOfficeDjVuFile/Test/Test/bin/Debug/Test.pdb svn_mime_002dtype=application%2Foctet-stream
ASCOfficeDocFile/DocDocxConverter/DocumentProperties.h svn_mime_002dtype=application%2Foctet-stream
ASCOfficeDocFile/DocFormatLib svnc_tsvn_003alogminsize=5
ASCOfficeDocFile/DocFormatLib/Linux svnc_tsvn_003alogminsize=5
......@@ -278,61 +275,6 @@ ASCOfficeHtmlFile/HTMLReaderLib/docs/HTML[!!-~]Reader[!!-~]C++[!!-~]Class[!!-~]L
ASCOfficeHtmlFile/HTMLReaderLib/docs/HTML[!!-~]Reader[!!-~]C++[!!-~]Class[!!-~]Library[!!-~]-[!!-~]CodeProject_files/usersuss.gif svn_mime_002dtype=application%2Foctet-stream
ASCOfficeHtmlFile/HTMLReaderLib/docs/HTML[!!-~]Reader[!!-~]C++[!!-~]Class[!!-~]Library[!!-~]-[!!-~]CodeProject_files/{DE88D139-2BDC-4852-AA40-7D613E9F19E7}.gif svn_mime_002dtype=application%2Foctet-stream
ASCOfficeOdfFile/linux svnc_tsvn_003alogminsize=5
ASCOfficePDFWriter/Linux svnc_tsvn_003alogminsize=5
ASCOfficePDFWriter/PdfWriterLib svnc_tsvn_003alogminsize=5
ASCOfficePDFWriter/PdfWriterLib/Linux svnc_tsvn_003alogminsize=5
ASCOfficePDFWriter/PdfWriterLib/Win32 svnc_tsvn_003alogminsize=5
ASCOfficePDFWriter/Tests/TestGradient svnc_tsvn_003alogminsize=5
ASCOfficePDFWriter/Tests/TestGradient/Properties svnc_tsvn_003alogminsize=5
ASCOfficePDFWriter/Tests/TestGradient/bin svnc_tsvn_003alogminsize=5
ASCOfficePDFWriter/Tests/TestGradient/bin/AxInterop.AcroPDFLib.dll svn_mime_002dtype=application%2Foctet-stream
ASCOfficePDFWriter/Tests/TestGradient/bin/Interop.ASCOfficePDFWriter.dll svn_mime_002dtype=application%2Foctet-stream
ASCOfficePDFWriter/Tests/TestGradient/bin/Interop.AVSGraphics.dll svn_mime_002dtype=application%2Foctet-stream
ASCOfficePDFWriter/Tests/TestGradient/bin/Interop.AVSMediaCore3.dll svn_mime_002dtype=application%2Foctet-stream
ASCOfficePDFWriter/Tests/TestGradient/bin/Interop.AVSOfficePDFWriter.dll svn_mime_002dtype=application%2Foctet-stream
ASCOfficePDFWriter/Tests/TestGradient/bin/Interop.AcroPDFLib.dll svn_mime_002dtype=application%2Foctet-stream
ASCOfficePDFWriter/Tests/TestGradient/bin/Interop.Acrobat.dll svn_mime_002dtype=application%2Foctet-stream
ASCOfficePDFWriter/Tests/TestGradient/bin/PdfWriter.dll svn_mime_002dtype=application%2Foctet-stream
ASCOfficePDFWriter/Tests/TestGradient/bin/PdfWriter.pdb svn_mime_002dtype=application%2Foctet-stream
ASCOfficePDFWriter/Tests/TestGradient/bin/Test.exe svn_mime_002dtype=application%2Foctet-stream
ASCOfficePDFWriter/Tests/TestGradient/bin/Test.pdb svn_mime_002dtype=application%2Foctet-stream
ASCOfficePDFWriter/Tests/TestGradient/bin/files svnc_tsvn_003alogminsize=5
ASCOfficePDFWriter/Tests/TestGradient/bin/files/PDF.pdf svn_mime_002dtype=application%2Foctet-stream
ASCOfficePDFWriter/Tests/TestGradient/obj svnc_tsvn_003alogminsize=5
ASCOfficePDFWriter/Tests/TestGradient/obj/Debug svnc_tsvn_003alogminsize=5
ASCOfficePDFWriter/Tests/TestGradient/obj/Debug/AxInterop.AcroPDFLib.dll svn_mime_002dtype=application%2Foctet-stream
ASCOfficePDFWriter/Tests/TestGradient/obj/Debug/DesignTimeResolveAssemblyReferences.cache svn_mime_002dtype=application%2Foctet-stream
ASCOfficePDFWriter/Tests/TestGradient/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache svn_mime_002dtype=application%2Foctet-stream
ASCOfficePDFWriter/Tests/TestGradient/obj/Debug/Interop.ASCOfficePDFWriter.dll svn_mime_002dtype=application%2Foctet-stream
ASCOfficePDFWriter/Tests/TestGradient/obj/Debug/Interop.AVSGraphics.dll svn_mime_002dtype=application%2Foctet-stream
ASCOfficePDFWriter/Tests/TestGradient/obj/Debug/Interop.AVSMediaCore3.dll svn_mime_002dtype=application%2Foctet-stream
ASCOfficePDFWriter/Tests/TestGradient/obj/Debug/Interop.AVSOfficePDFWriter.dll svn_mime_002dtype=application%2Foctet-stream
ASCOfficePDFWriter/Tests/TestGradient/obj/Debug/Interop.AcroPDFLib.dll svn_mime_002dtype=application%2Foctet-stream
ASCOfficePDFWriter/Tests/TestGradient/obj/Debug/Interop.Acrobat.dll svn_mime_002dtype=application%2Foctet-stream
ASCOfficePDFWriter/Tests/TestGradient/obj/Debug/TempPE svnc_tsvn_003alogminsize=5
ASCOfficePDFWriter/Tests/TestGradient/obj/Debug/TempPE/Properties.Resources.Designer.cs.dll svn_mime_002dtype=application%2Foctet-stream
ASCOfficePDFWriter/Tests/TestGradient/obj/Debug/Test.MainForm.resources svn_mime_002dtype=application%2Foctet-stream
ASCOfficePDFWriter/Tests/TestGradient/obj/Debug/Test.Properties.Resources.resources svn_mime_002dtype=application%2Foctet-stream
ASCOfficePDFWriter/Tests/TestGradient/obj/Debug/Test.exe svn_mime_002dtype=application%2Foctet-stream
ASCOfficePDFWriter/Tests/TestGradient/obj/Debug/Test.pdb svn_mime_002dtype=application%2Foctet-stream
ASCOfficePDFWriter/Tests/TestGradient/obj/Debug/TestGradient.csproj.GenerateResource.Cache svn_mime_002dtype=application%2Foctet-stream
ASCOfficePDFWriter/Tests/TestGradient/obj/Debug/TestGradient.csproj.ResolveComReference.cache svn_mime_002dtype=application%2Foctet-stream
ASCOfficePDFWriter/Tests/TestGradient/obj/Debug/TestGradient.csprojResolveAssemblyReference.cache svn_mime_002dtype=application%2Foctet-stream
ASCOfficePDFWriter/Tests/TestSvgToPDF/bin/AxInterop.AcroPDFLib.dll svn_mime_002dtype=application%2Foctet-stream
ASCOfficePDFWriter/Tests/TestSvgToPDF/bin/Interop.AVSGraphics.dll svn_mime_002dtype=application%2Foctet-stream
ASCOfficePDFWriter/Tests/TestSvgToPDF/bin/Interop.AVSMediaCore3.dll svn_mime_002dtype=application%2Foctet-stream
ASCOfficePDFWriter/Tests/TestSvgToPDF/bin/Interop.AVSOfficePDFWriter.dll svn_mime_002dtype=application%2Foctet-stream
ASCOfficePDFWriter/Tests/TestSvgToPDF/bin/Interop.AcroPDFLib.dll svn_mime_002dtype=application%2Foctet-stream
ASCOfficePDFWriter/Tests/TestSvgToPDF/bin/Interop.Acrobat.dll svn_mime_002dtype=application%2Foctet-stream
ASCOfficePDFWriter/Tests/TestSvgToPDF/bin/PdfWriter.dll svn_mime_002dtype=application%2Foctet-stream
ASCOfficePDFWriter/Tests/TestSvgToPDF/bin/PdfWriter.pdb svn_mime_002dtype=application%2Foctet-stream
ASCOfficePDFWriter/Tests/TestSvgToPDF/bin/SciLexer.dll svn_mime_002dtype=application%2Foctet-stream
ASCOfficePDFWriter/Tests/TestSvgToPDF/bin/SciLexer64.dll svn_mime_002dtype=application%2Foctet-stream
ASCOfficePDFWriter/Tests/TestSvgToPDF/bin/ScintillaNET.dll svn_mime_002dtype=application%2Foctet-stream
ASCOfficePDFWriter/Tests/TestSvgToPDF/bin/Test.exe svn_mime_002dtype=application%2Foctet-stream
ASCOfficePDFWriter/Tests/TestSvgToPDF/bin/Test.pdb svn_mime_002dtype=application%2Foctet-stream
ASCOfficePDFWriter/Tests/TestSvgToPDF/bin/files/coffe.jpg svn_mime_002dtype=application%2Foctet-stream
ASCOfficePDFWriter/Win32 svnc_tsvn_003alogminsize=5
ASCOfficePPTFile/Linux svnc_tsvn_003alogminsize=5
ASCOfficePPTFile/PPTFormatLib svnc_tsvn_003alogminsize=5
ASCOfficePPTFile/PPTFormatLib/Linux svnc_tsvn_003alogminsize=5
// ASCFontConverter.cpp : Implementation of DLL Exports.
#include "stdafx.h"
#include "resource.h"
// The module attribute causes DllMain, DllRegisterServer and DllUnregisterServer to be automatically implemented for you
[ module(dll, uuid = "{0F344B85-C7D3-483A-BA29-3ABFD701ADD0}",
name = "ASCFontConverter",
helpstring = "ASCFontConverter 1.0 Type Library",
resource_name = "IDR_ASCFONTCONVERTER") ]
class CASCFontConverterModule
{
public:
// Override CAtlDllModuleT members
};
//Microsoft Visual C++ generated resource script.
//
#include "resource.h"
#define COMPONENT_NAME "FontConverter"
#include "../Common/FileInfo.h"
#include "version.h"
#define APSTUDIO_READONLY_SYMBOLS
/////////////////////////////////////////////////////////////////////////////
//
// Generated from the TEXTINCLUDE 2 resource.
//
#include "winres.h"
/////////////////////////////////////////////////////////////////////////////
#undef APSTUDIO_READONLY_SYMBOLS
#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_RUS)
LANGUAGE 25, 1
#pragma code_page(1251)
#ifdef APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
//
// TEXTINCLUDE
//
1 TEXTINCLUDE
BEGIN
"resource.h\0"
END
2 TEXTINCLUDE
BEGIN
"#include ""winres.h""\r\n"
"\0"
END
#endif // APSTUDIO_INVOKED
#ifndef _MAC
/////////////////////////////////////////////////////////////////////////////
//
// Version
//
VS_VERSION_INFO VERSIONINFO
FILEVERSION INTVER
PRODUCTVERSION INTVER
FILEFLAGSMASK 0x3fL
#ifdef _DEBUG
FILEFLAGS 0x1L
#else
FILEFLAGS 0x0L
#endif
FILEOS 0x4L
FILETYPE 0x2L
FILESUBTYPE 0x0L
BEGIN
BLOCK "StringFileInfo"
BEGIN
BLOCK "040904B0"
BEGIN
VALUE "CompanyName", COMPANY_NAME
VALUE "FileDescription", FILE_DESCRIPTION_ACTIVEX
VALUE "FileVersion", STRVER
VALUE "LegalCopyright", LEGAL_COPYRIGHT
VALUE "InternalName", COMPONENT_FILE_NAME_DLL
VALUE "OriginalFilename", COMPONENT_FILE_NAME_DLL
VALUE "ProductName", FILE_DESCRIPTION_ACTIVEX
VALUE "ProductVersion", STRVER
END
END
BLOCK "VarFileInfo"
BEGIN
VALUE "Translation", 0x0409, 0x04B0
END
END
#endif // !_MAC
/////////////////////////////////////////////////////////////////////////////
//
// String Table
//
STRINGTABLE
BEGIN
IDS_PROJNAME "ASCFontConverter"
END
IDR_ASCFONTCONVERTER REGISTRY "ASCFontConverter.rgs"
////////////////////////////////////////////////////////////////////////////
#endif
#ifndef APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
#endif // not APSTUDIO_INVOKED
HKCR
{
NoRemove AppID
{
'%APPID%' = s 'ASCFontConverter'
'ASCFontConverter.DLL'
{
val AppID = s '%APPID%'
}
}
}

Microsoft Visual Studio Solution File, Format Version 9.00
# Visual Studio 2008
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ASCFontConverter", "ASCFontConverter.vcproj", "{BC0A8A11-2017-473D-8AB1-86A55116A2F5}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Win32 = Debug|Win32
Release|Win32 = Release|Win32
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{BC0A8A11-2017-473D-8AB1-86A55116A2F5}.Debug|Win32.ActiveCfg = Debug|Win32
{BC0A8A11-2017-473D-8AB1-86A55116A2F5}.Debug|Win32.Build.0 = Debug|Win32
{BC0A8A11-2017-473D-8AB1-86A55116A2F5}.Release|Win32.ActiveCfg = Release|Win32
{BC0A8A11-2017-473D-8AB1-86A55116A2F5}.Release|Win32.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal
<?xml version="1.0" encoding="windows-1251"?>
<VisualStudioProject
ProjectType="Visual C++"
Version="8,00"
Name="ASCFontConverter"
ProjectGUID="{BC0A8A11-2017-473D-8AB1-86A55116A2F5}"
Keyword="AtlProj"
>
<Platforms>
<Platform
Name="Win32"
/>
</Platforms>
<ToolFiles>
</ToolFiles>
<Configurations>
<Configuration
Name="Debug|Win32"
OutputDirectory="Debug"
IntermediateDirectory="Debug"
ConfigurationType="2"
UseOfATL="1"
ATLMinimizesCRunTimeLibraryUsage="false"
CharacterSet="1"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
PreprocessorDefinitions="_DEBUG"
MkTypLibCompatible="false"
TargetEnvironment="1"
GenerateStublessProxies="true"
TypeLibraryName="$(IntDir)/ASCFontConverter.tlb"
HeaderFileName="ASCFontConverter.h"
DLLDataFileName=""
InterfaceIdentifierFileName="ASCFontConverter_i.c"
ProxyFileName="ASCFontConverter_p.c"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="../OfficeCore/Fonts/FreeType"
PreprocessorDefinitions="WIN32;_WINDOWS;_DEBUG;_USRDLL;_ATL_ATTRIBUTES"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="3"
UsePrecompiledHeader="2"
WarningLevel="3"
Detect64BitPortabilityProblems="false"
DebugInformationFormat="4"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
PreprocessorDefinitions="_DEBUG"
Culture="1049"
AdditionalIncludeDirectories="$(IntDir)"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLinkerTool"
IgnoreImportLibrary="true"
OutputFile="$(OutDir)/ASCFontConverter.dll"
LinkIncremental="2"
MergedIDLBaseFileName="_ASCFontConverter.idl"
GenerateDebugInformation="true"
SubSystem="2"
ImportLibrary="$(OutDir)/ASCFontConverter.lib"
TargetMachine="1"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCManifestTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCAppVerifierTool"
/>
<Tool
Name="VCWebDeploymentTool"
/>
<Tool
Name="VCPostBuildEventTool"
Description="Performing registration"
CommandLine="regsvr32 /s /c &quot;$(TargetPath)&quot;"
/>
</Configuration>
<Configuration
Name="Release|Win32"
OutputDirectory="Release"
IntermediateDirectory="Release"
ConfigurationType="2"
UseOfATL="1"
ATLMinimizesCRunTimeLibraryUsage="false"
CharacterSet="1"
>
<Tool
Name="VCPreBuildEventTool"
CommandLine="..\Redist\VersionControl.exe &quot;$(SolutionDir)\version.h&quot;"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
PreprocessorDefinitions="NDEBUG"
MkTypLibCompatible="false"
TargetEnvironment="1"
GenerateStublessProxies="true"
TypeLibraryName="$(IntDir)/ASCFontConverter.tlb"
HeaderFileName="ASCFontConverter.h"
DLLDataFileName=""
InterfaceIdentifierFileName="ASCSFontConverter_i.c"
ProxyFileName="ASCFontConverter_p.c"
/>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories="../OfficeCore/Fonts/FreeType"
PreprocessorDefinitions="WIN32;_WINDOWS;NDEBUG;_USRDLL;_ATL_ATTRIBUTES"
RuntimeLibrary="2"
UsePrecompiledHeader="2"
WarningLevel="3"
Detect64BitPortabilityProblems="false"
DebugInformationFormat="3"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
PreprocessorDefinitions="NDEBUG"
Culture="1049"
AdditionalIncludeDirectories="$(IntDir)"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLinkerTool"
IgnoreImportLibrary="true"
OutputFile="../Redist/ASCFontConverter.dll"
LinkIncremental="1"
MergedIDLBaseFileName="_ASCFontConverter.idl"
GenerateDebugInformation="true"
ProgramDatabaseFile="$(OutDir)$(TargetName).pdb"
SubSystem="2"
OptimizeReferences="2"
EnableCOMDATFolding="2"
ImportLibrary="$(OutDir)/ASCFontConverter.lib"
TargetMachine="1"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCManifestTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCAppVerifierTool"
/>
<Tool
Name="VCWebDeploymentTool"
/>
<Tool
Name="VCPostBuildEventTool"
Description="Performing registration"
CommandLine="regsvr32 /s /c &quot;$(TargetPath)&quot;"
/>
</Configuration>
</Configurations>
<References>
</References>
<Files>
<Filter
Name="Source Files"
Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
>
<File
RelativePath=".\ASCFontConverter.cpp"
>
</File>
<File
RelativePath=".\FontConverter.cpp"
>
</File>
<File
RelativePath=".\FontFileEncodings.cpp"
>
</File>
<File
RelativePath=".\FontFileTrueType.cpp"
>
</File>
<File
RelativePath=".\FontFileType1.cpp"
>
</File>
<File
RelativePath=".\FontFileType1C.cpp"
>
</File>
<File
RelativePath=".\Hash.cpp"
>
</File>
<File
RelativePath=".\stdafx.cpp"
>
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCCLCompilerTool"
UsePrecompiledHeader="1"
/>
</FileConfiguration>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
UsePrecompiledHeader="1"
/>
</FileConfiguration>
</File>
<File
RelativePath=".\StringExt.cpp"
>
</File>
</Filter>
<Filter
Name="Header Files"
Filter="h;hpp;hxx;hm;inl;inc;xsd"
UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
>
<File
RelativePath=".\FontConverter.h"
>
</File>
<File
RelativePath=".\Resource.h"
>
</File>
<File
RelativePath=".\stdafx.h"
>
</File>
<File
RelativePath=".\version.h"
>
</File>
</Filter>
<Filter
Name="Resource Files"
Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
>
<File
RelativePath=".\ASCFontConverter.rc"
>
</File>
<File
RelativePath=".\ASCFontConverter.rgs"
>
</File>
</Filter>
<File
RelativePath=".\ReadMe.txt"
>
</File>
</Files>
<Globals>
</Globals>
</VisualStudioProject>
#pragma once
const long c_lFromAll = 0xFFFF; //
const long c_lFromTT = 0x0010; // TrueType
const long c_lFromT1 = 0x0020; // Type 1
const long c_lFromCFF = 0x0040; // CFF
const long c_lFlagsGids = 0x0080;
// FontConverter.cpp : Implementation of CFontConverter
#include "stdafx.h"
#include "FontConverter.h"
// CFontConverter12
This diff is collapsed.
#ifndef _FONT_FILE_BASE_H
#define _FONT_FILE_BASE_H
#include <stdio.h>
#include "MemoryUtils.h"
//------------------------------------------------------------------------
typedef void (*FontFileOutputFunc)(void *pStream, char *sData, int nLen);
//------------------------------------------------------------------------
// CFontFileBase
//------------------------------------------------------------------------
class CFontFileBase
{
public:
virtual ~CFontFileBase()
{
if ( m_bFreeFileData )
MemUtilsFree( m_sFileData );
}
protected:
CFontFileBase(char *sFile, int nLen, BOOL bFreeFileData)
{
m_sFileData = m_sFile = (unsigned char *)sFile;
m_nLen = nLen;
m_bFreeFileData = bFreeFileData;
m_nPos = 0;
}
void Reset()
{
m_nPos = 0;
}
static char *ReadFile(wchar_t *wsFileName, int *pnFileLen)
{
FILE *pFile;
if ( !( pFile = _wfopen( wsFileName, _T("rb") ) ) )
return NULL;
fseek( pFile, 0, SEEK_END );
int nLen = (int)ftell( pFile );
fseek( pFile, 0, SEEK_SET );
char *sBuffer = (char *)MemUtilsMalloc( nLen );
if ( (int)fread( sBuffer, 1, nLen, pFile) != nLen )
{
MemUtilsFree( sBuffer );
fclose( pFile );
return NULL;
}
fclose( pFile );
*pnFileLen = nLen;
return sBuffer;
}
// S = signed / U = unsigned
// 8/16/32/Var = word length, in bytes
// BE = big endian
int GetS8 (int nPos, BOOL *pbSuccess)
{
*pbSuccess = TRUE;
if ( nPos < 0 || nPos >= m_nLen )
{
*pbSuccess = FALSE;
return 0;
}
int nRes = m_sFile[ nPos ];
if ( nRes & 0x80 )
nRes |= ~0xff;
return nRes;
}
int GetU8 (int nPos, BOOL *pbSuccess)
{
*pbSuccess = TRUE;
if ( nPos < 0 || nPos >= m_nLen )
{
*pbSuccess = FALSE;
return 0;
}
return m_sFile[ nPos ];
}
int GetS16BE (int nPos, BOOL *pbSuccess)
{
*pbSuccess = TRUE;
if ( nPos < 0 || nPos + 1 >= m_nLen )
{
*pbSuccess = FALSE;
return 0;
}
int nRes = m_sFile[nPos];
nRes = (nRes << 8) + m_sFile[ nPos + 1 ];
if ( nRes & 0x8000 )
nRes |= ~0xffff;
return nRes;
}
int GetU16BE (int nPos, BOOL *pbSuccess)
{
*pbSuccess = TRUE;
if ( nPos < 0 || nPos + 1 >= m_nLen)
{
*pbSuccess = FALSE;
return 0;
}
int nRes = m_sFile[ nPos ];
nRes = (nRes << 8) + m_sFile[ nPos + 1 ];
return nRes;
}
int GetS32BE (int nPos, BOOL *pbSuccess)
{
*pbSuccess = TRUE;
if ( nPos < 0 || nPos + 3 >= m_nLen )
{
*pbSuccess = FALSE;
return 0;
}
int nRes = m_sFile[ nPos ];
nRes = (nRes << 8) + m_sFile[nPos + 1];
nRes = (nRes << 8) + m_sFile[nPos + 2];
nRes = (nRes << 8) + m_sFile[nPos + 3];
if ( nRes & 0x80000000 )
nRes |= ~0xffffffff;
return nRes;
}
unsigned int GetU32BE (int nPos, BOOL *pbSuccess)
{
*pbSuccess = TRUE;
if ( nPos < 0 || nPos + 3 >= m_nLen )
{
*pbSuccess = FALSE;
return 0;
}
unsigned int nRes = m_sFile[nPos];
nRes = (nRes << 8) + m_sFile[nPos + 1];
nRes = (nRes << 8) + m_sFile[nPos + 2];
nRes = (nRes << 8) + m_sFile[nPos + 3];
return nRes;
}
unsigned int GetU32LE (int nPos, BOOL *pbSuccess)
{
*pbSuccess = TRUE;
if ( nPos < 0 || nPos + 3 >= m_nLen )
{
*pbSuccess = FALSE;
return 0;
}
unsigned int nRes = m_sFile[nPos + 3];
nRes = (nRes << 8) + m_sFile[nPos + 2];
nRes = (nRes << 8) + m_sFile[nPos + 1];
nRes = (nRes << 8) + m_sFile[nPos + 0];
return nRes;
}
unsigned int GetUVarBE(int nPos, int nSize, BOOL *pbSuccess)
{
*pbSuccess = TRUE;
if ( nPos < 0 || nPos + nSize > m_nLen )
{
*pbSuccess = FALSE;
return 0;
}
unsigned int nRes = 0;
for ( int nIndex = 0; nIndex < nSize; ++nIndex )
nRes = (nRes << 8) + m_sFile[nPos + nIndex];
return nRes;
}
BOOL CheckRegion(int nPos, int nSize)
{
return (nPos >= 0 && nPos + nSize >= nPos && nPos + nSize <= m_nLen);
}
int ReadS8 (BOOL *pbSuccess)
{
return GetS8( m_nPos++, pbSuccess );
}
int ReadU8 (BOOL *pbSuccess)
{
return GetU8( m_nPos++, pbSuccess );
}
unsigned int ReadU32BE(BOOL *pbSuccess)
{
unsigned int unResult = GetU32BE( m_nPos, pbSuccess );
m_nPos += 4;
return unResult;
}
unsigned int ReadU32LE(BOOL *pbSuccess)
{
unsigned int unResult = GetU32LE( m_nPos, pbSuccess );
m_nPos += 4;
return unResult;
}
int Read(void* pDestBuffer, int nSize)
{
if ( m_nPos + nSize >= m_nLen )
nSize = m_nLen - m_nPos - 1;
memcpy( pDestBuffer, (m_sFile + m_nPos), nSize );
m_nPos += nSize;
return nSize;
}
protected:
unsigned char *m_sFileData;
unsigned char *m_sFile;
int m_nLen;
BOOL m_bFreeFileData;
int m_nPos;
};
#endif /* _FONT_FILE_BASE_H */
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
#ifndef _FONT_FILE_TRUETYPE_H
#define _FONT_FILE_TRUETYPE_H
#include "FontFileBase.h"
class StringExt;
class CHash;
//------------------------------------------------------------------------
#define ttcfTag 0x74746366
//------------------------------------------------------------------------
struct TrueTypeTable
{
unsigned int unTag;
unsigned int unChecksum;
int nOffset;
int nOrigOffset;
int nLen;
};
struct TrueTypeCmap
{
int nPlatform;
int nEncoding;
int nOffset;
int nLen;
int nFormat;
};
struct TrueTypeLoca
{
int nIndex;
int nOrigOffset;
int nNewOffset;
int nLen;
};
#define cffTag 0x43464620
#define maxpTag 0x6d617870
#define cmapTag 0x636d6170
#define glyfTag 0x676c7966
#define headTag 0x68656164
#define hheaTag 0x68686561
#define hmtxTag 0x686d7478
#define locaTag 0x6c6f6361
#define nameTag 0x6e616d65
#define os2Tag 0x4f532f32
#define postTag 0x706f7374
#define cvtTag 0x63767420
#define fpgmTag 0x6670676d
#define prepTag 0x70726570
static int CompareTrueTypeLocaOffset(const void *pL1, const void *pL2)
{
TrueTypeLoca *pLoca1 = (TrueTypeLoca *)pL1;
TrueTypeLoca *pLoca2 = (TrueTypeLoca *)pL2;
if ( pLoca1->nOrigOffset == pLoca2->nOrigOffset )
return pLoca1->nIndex - pLoca2->nIndex;
return pLoca1->nOrigOffset - pLoca2->nOrigOffset;
}
static int CompareTrueTypeLocaIndex(const void *pL1, const void *pL2)
{
TrueTypeLoca *pLoca1 = (TrueTypeLoca *)pL1;
TrueTypeLoca *pLoca2 = (TrueTypeLoca *)pL2;
return pLoca1->nIndex - pLoca2->nIndex;
}
static int CompareTrueTypeTableTag(const void *pTab1, const void *pTab2)
{
TrueTypeTable *pTable1 = (TrueTypeTable *)pTab1;
TrueTypeTable *pTable2 = (TrueTypeTable *)pTab2;
return (int)pTable1->unTag - (int)pTable2->unTag;
}
//------------------------------------------------------------------------
struct T42Table
{
char *sTag; // 4-
BOOL bRequired; // TrueType?
};
// TrueType tables to be embedded in Type 42 fonts.
// NB: the table names must be in alphabetical order here.
#define nT42Tables 11
static T42Table t42Tables[nT42Tables] =
{
{ "cvt ", TRUE },
{ "fpgm", TRUE },
{ "glyf", TRUE },
{ "head", TRUE },
{ "hhea", TRUE },
{ "hmtx", TRUE },
{ "loca", TRUE },
{ "maxp", TRUE },
{ "prep", TRUE },
{ "vhea", FALSE },
{ "vmtx", FALSE }
};
#define t42HeadTable 3
#define t42LocaTable 6
#define t42GlyfTable 2
#define t42VheaTable 9
#define t42VmtxTable 10
//------------------------------------------------------------------------
// CFontFileTrueType
//------------------------------------------------------------------------
class CFontFileTrueType: public CFontFileBase
{
public:
// TTF .
static CFontFileTrueType *LoadFromBuffer(char *sBuffer, int lenA);
// TTF .
static CFontFileTrueType *LoadFromFile(wchar_t *wsFileName);
virtual ~CFontFileTrueType();
// TRUE, OpenType CFF.
// FALSE, TrueType ( OpenType TrueType).
BOOL IsOpenTypeCFF()
{
return m_bOpenTypeCFF;
}
int GetCmapsCount();
int GetCmapPlatform(int nIndex);
int GetCmapEncoding(int nIndex);
int FindCmap(int nPlatform, int nEncoding);
// GID, <nChar> <nIndex> CMap.
unsigned short MapCodeToGID(int nCMapIndex, int nChar);
// GID, <sName> post. 0,
// , post .
int MapNameToGID(char *sName);
// CIDs GIDs,
// CIDs *<pnCIDs>. CID ( OpenType CFF )
unsigned short *GetCIDToGIDMap(int *pnCIDs);
// (
// True Type):
// * 4: OS/2
// * 3:
// * 2:
// * 1:
// * 0:
int GetEmbeddingRestrictions();
// Convert to a Type 42 font, suitable for embedding in a PostScript
// file. <psName> will be used as the PostScript font name (so we
// don't need to depend on the 'name' table in the font). The
// <encoding> array specifies the mapping from char codes to names.
// If <encoding> is NULL, the encoding is unknown or undefined. The
// <codeToGID> array specifies the mapping from char codes to GIDs.
// (Not useful for OpenType CFF fonts.)
void ToType42(char *sPSName, char **ppEncoding, unsigned short *pCodeToGID, FontFileOutputFunc pOutputFunc, void *pOutputStream );
// Convert to a Type 1 font, suitable for embedding in a PostScript
// file. This is only useful with 8-bit fonts. If <newEncoding> is
// not NULL, it will be used in place of the encoding in the Type 1C
// font. If <ascii> is true the eexec section will be hex-encoded,
// otherwise it will be left as binary data. If <psName> is
// non-NULL, it will be used as the PostScript font name. (Only
// useful for OpenType CFF fonts.)
void ToType1(char *sPSName, char **ppNewEncoding, BOOL bASKII, FontFileOutputFunc pOutputFunc, void *pOutputStream );
// Convert to a Type 2 CIDFont, suitable for embedding in a
// PostScript file. <psName> will be used as the PostScript font
// name (so we don't need to depend on the 'name' table in the
// font). The <cidMap> array maps CIDs to GIDs; it has <nCIDs>
// entries. (Not useful for OpenType CFF fonts.)
void ToCIDType2(char *sPSName, unsigned short *pCIDMap, int nCIDCount, BOOL bNeedVerticalMetrics, FontFileOutputFunc pOutputFunc, void *pOutputStream);
// Convert to a Type 0 CIDFont, suitable for embedding in a
// PostScript file. <psName> will be used as the PostScript font
// name. (Only useful for OpenType CFF fonts.)
void ToCIDType0(char *sPSName, FontFileOutputFunc pOutputFunc, void *pOutputStream);
// Convert to a Type 0 (but non-CID) composite font, suitable for
// embedding in a PostScript file. <psName> will be used as the
// PostScript font name (so we don't need to depend on the 'name'
// table in the font). The <cidMap> array maps CIDs to GIDs; it has
// <nCIDs> entries. (Not useful for OpenType CFF fonts.)
void ToType0(char *sPSName, unsigned short *pCIDMap, int nCIDCount, BOOL bNeedVerticalMetrics, FontFileOutputFunc pOutputFunc, void *pOutputStream);
// Convert to a Type 0 (but non-CID) composite font, suitable for
// embedding in a PostScript file. <psName> will be used as the
// PostScript font name. (Only useful for OpenType CFF fonts.)
void ToType0(char *sPSName, FontFileOutputFunc pOutputFunc, void *pOutputStream);
// TrueTypeFont File,
// . <sName>,
// 'name'. <pCodeToGID>,
// 'cmap'.
void WriteTTF(FontFileOutputFunc pOutputFunc, void *pOutputStream, char *sName = NULL, unsigned short *pCodeToGID = NULL, unsigned char *pUseGlyfs = NULL, long lGlyfsCount = 0) ;
private:
CFontFileTrueType(char *sFileName, int nLen, BOOL bFreeFileData);
void ConvertEncoding (char **ppEncoding, FontFileOutputFunc pOutputFunc, void *pOutputStream);
void ConvertCharStrings(char **ppEncoding, unsigned short *pnCodeToGID, FontFileOutputFunc pOutputFunc, void *pOutputStream);
void ConvertSfnts (FontFileOutputFunc pOutputFunc, void *pOutputStream, StringExt *seName, BOOL bNeedVerticalMetrics);
void DumpString(unsigned char *sString, int nLength, FontFileOutputFunc pOutputFunc, void *pOutputStream);
unsigned int ComputeTableChecksum(unsigned char *sData, int nLength);
void Parse();
void ReadPostTable();
int SeekTable(char *sTag);
private:
TrueTypeTable *m_pTables;
int m_nTablesCount;
TrueTypeCmap *m_pCMaps;
int m_nCMapsCount;
int m_nGlyphs;
int m_nLocaFormat;
int m_arrBBox[4];
CHash *m_pNameToGID;
BOOL m_bOpenTypeCFF;
BOOL m_bSuccess;
};
#endif /* _FONT_FILE_TRUETYPE_H */
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
#ifndef _FONT_FILE_TYPE1C_H
#define _FONT_FILE_TYPE1C_H
#include "FontFileBase.h"
class StringExt;
//------------------------------------------------------------------------
struct Type1CIndex
{
int nPos; //
int nCount; //
int nOffsetSize; // Offset size
int nStartPos; // index data - 1
int nEndPos; // Type1CIndex
};
struct Type1CIndexVal
{
int nPos; //
int nLen; //
};
struct Type1CTopDict
{
int nFirstOperator;
int nVersionSID;
int nNoticeSID;
int nCopyrightSID;
int nFullNameSID;
int nFamilyNameSID;
int nWeightSID;
int nIsFixedPitch;
double dItalicAngle;
double dUnderlinePosition;
double dUnderlineThickness;
int nPaintType;
int nCharStringType;
double arrdFontMatrix[6];
BOOL bHasFontMatrix; // CID FD,
int nUniqueID;
double arrdFontBBox[4];
double dStrokeWidth;
int nCharsetOffset;
int nEncodingOffset;
int nCharStringsOffset;
int nPrivateSize;
int nPrivateOffset;
// CIDFont entries
int nRegistrySID;
int nOrderingSID;
int nSupplement;
int nFDArrayOffset;
int nFDSelectOffset;
};
#define type1CMaxBlueValues 14
#define type1CMaxOtherBlues 10
#define type1CMaxStemSnap 12
struct Type1CPrivateDict
{
double arrdFontMatrix[6];
BOOL bHasFontMatrix;
int arrnBlueValues[type1CMaxBlueValues];
int nBlueValues;
int arrnOtherBlues[type1CMaxOtherBlues];
int nOtherBlues;
int arrnFamilyBlues[type1CMaxBlueValues];
int nFamilyBlues;
int arrnFamilyOtherBlues[type1CMaxOtherBlues];
int nFamilyOtherBlues;
double dBlueScale;
int nBlueShift;
int nBlueFuzz;
double dStdHW;
BOOL bHasStdHW;
double dStdVW;
BOOL bHasStdVW;
double arrdStemSnapH[type1CMaxStemSnap];
int nStemSnapH;
double arrdStemSnapV[type1CMaxStemSnap];
int nStemSnapV;
BOOL bForceBold;
BOOL bHasForceBold;
double dForceBoldThreshold;
int nLanguageGroup;
double dExpansionFactor;
int nInitialRandomSeed;
int nSubrsOffset;
double dDefaultWidthX;
BOOL bDefaultWidthXFP;
double dNominalWidthX;
BOOL bNominalWidthXFP;
};
struct Type1COperator
{
BOOL bIsNumber; // true -> number, false -> operator
BOOL bIsFloat; // true -> floating point number, false -> int
union
{
double dNumber;
int nOperator;
};
};
struct Type1CEexecBuf
{
FontFileOutputFunc pOutputFunc;
void *pOutputStream;
BOOL bASKII; // ASCII ?
unsigned short unEncryptionKey; // eexec encryption key
int nLine; // eexec-,
};
//------------------------------------------------------------------------
// CFontFileType1C
//------------------------------------------------------------------------
class CFontFileType1C: public CFontFileBase
{
public:
static CFontFileType1C *LoadFromBuffer(char *sBuffer, int nLen);
static CFontFileType1C *LoadFromFile(wchar_t *wsFileName);
virtual ~CFontFileType1C();
char *GetName();
// , 256 (
// NULL). 8- .
char **GetEncoding();
unsigned short *GetCIDToGIDMap(int *arrCIDs);
// Convert to a Type 1 font, suitable for embedding in a PostScript
// file. This is only useful with 8-bit fonts. If <newEncoding> is
// not NULL, it will be used in place of the encoding in the Type 1C
// font. If <ascii> is true the eexec section will be hex-encoded,
// otherwise it will be left as binary data. If <psName> is non-NULL,
// it will be used as the PostScript font name.
void ToType1(char *sPSName, char **ppNewEncoding, BOOL bASKII, FontFileOutputFunc pOutputFunc, void *pOutputStream);
// Convert to a Type 0 CIDFont, suitable for embedding in a
// PostScript file. <psName> will be used as the PostScript font
// name.
void ToCIDType0(char *sPSName, FontFileOutputFunc pOutputFunc, void *pOutputStream);
// Convert to a Type 0 (but non-CID) composite font, suitable for
// embedding in a PostScript file. <psName> will be used as the
// PostScript font name.
void ToType0(char *sPSName, FontFileOutputFunc pOutputFunc, void *pOutputStream);
// OpenType (CFF)
void ToOpenTypeCFF(FontFileOutputFunc pOutputFunc, void *pOutputStream, FT_Face pFace);
private:
CFontFileType1C(char *sBuffer, int nLen, BOOL bFreeData);
void EexecConvertGlyph(Type1CEexecBuf *pEexecBuf, char *sGlyphName, int nOffset, int nBytes, Type1CIndex *pSubrIndex, Type1CPrivateDict *pDict);
void ConvertGlyph(int nOffset, int nBytes, StringExt *seCharBuffer, Type1CIndex *pSubrIndex, Type1CPrivateDict *pDict, BOOL bTop);
void ConvertGlyphWidth(BOOL bUseOperation, StringExt *seCharBuffer, Type1CPrivateDict *pDict);
void ConvertNum(double dValue, BOOL bIsFloat, StringExt *seCharBuffer);
void EexecWrite(Type1CEexecBuf *pEexecBuf, char *sBuffer);
void EexecWriteCharString(Type1CEexecBuf *pEexecBuf, unsigned char *sBuffer, int nLen);
BOOL Parse();
void ReadTopDict();
void ReadFD(int nOffset, int nLength, Type1CPrivateDict *pDict);
void ReadPrivateDict(int nOffset, int nLength, Type1CPrivateDict *pDict);
void ReadFDSelect();
void BuildEncoding();
BOOL ReadCharset();
int GetOperator(int nPos, BOOL bCharString, BOOL *pbSuccess);
int GetDeltaIntArray(int *pArray, int nMaxLen);
int GetDeltaDoubleArray(double *pArray, int nMaxLen);
void GetIndex(int nPos, Type1CIndex *pIndex, BOOL *pbSuccess);
void GetIndexVal(Type1CIndex *pIndex, int nIndex, Type1CIndexVal *pIndexVal, BOOL *bSuccess);
char *GetString(int nSID, char *sBuffer, BOOL *pbSuccess);
unsigned int ComputeTTTableChecksum(unsigned char *sData, int nLength)
{
unsigned int nWord = 0;
unsigned int nChecksum = 0;
for ( int nIndex = 0; nIndex + 3 < nLength; nIndex += 4 )
{
nWord = ( ( sData[ nIndex ] & 0xff) << 24) + ((sData[ nIndex + 1 ] & 0xff) << 16) + ((sData[ nIndex + 2 ] & 0xff) << 8) + (sData[ nIndex + 3 ] & 0xff);
nChecksum += nWord;
}
if ( nLength & 3 )
{
nWord = 0;
int nTemp = nLength & ~3;
switch ( nLength & 3 )
{
case 3:
nWord |= (sData[nTemp + 2] & 0xff) << 8;
case 2:
nWord |= (sData[nTemp + 1] & 0xff) << 16;
case 1:
nWord |= (sData[nTemp] & 0xff) << 24;
break;
}
nChecksum += nWord;
}
return nChecksum;
}
private:
StringExt *m_seName;
char **m_arrEncoding;
Type1CIndex m_oNameIndex;
Type1CIndex m_oTopDictIndex;
Type1CIndex m_oStringIndex;
Type1CIndex m_oGsubrIndex;
Type1CIndex m_oCharStringsIndex;
Type1CTopDict m_oTopDict;
Type1CPrivateDict *m_pPrivateDicts;
int m_nGlyphsCount;
int m_nFDsCount;
unsigned char *m_pnFDSelect;
unsigned short *m_pnCharset;
int m_nGsubrBias;
BOOL m_bSuccessParsed;
Type1COperator m_arrOperators[49];
int m_nOperatorsCount;
int m_nHints; //
BOOL m_bFirstOperator;
BOOL m_bOpenPath; // true,
};
#endif /* _FONT_FILE_TYPE1C_H */
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
//{{NO_DEPENDENCIES}}
// Microsoft Visual C++ generated include file.
// Used by AVSFontConverter.rc
//
#define IDS_PROJNAME 100
#define IDR_ASCFONTCONVERTER 101
// Next default values for new objects
//
#ifdef APSTUDIO_INVOKED
#ifndef APSTUDIO_READONLY_SYMBOLS
#define _APS_NEXT_RESOURCE_VALUE 201
#define _APS_NEXT_COMMAND_VALUE 32768
#define _APS_NEXT_CONTROL_VALUE 201
#define _APS_NEXT_SYMED_VALUE 102
#endif
#endif
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
// stdafx.cpp : source file that includes just the standard includes
// AVSFontConverter.pch will be the pre-compiled header
// stdafx.obj will contain the pre-compiled type information
#include "stdafx.h"
This diff is collapsed.
#pragma once
//1
//0
//0
//8
#define INTVER 1,0,0,8
#define STRVER "1,0,0,8\0"
// ASCDjVuFile.cpp : Implementation of DLL Exports.
#include "stdafx.h"
#include "resource.h"
#include "OfficeDjvuFile.h"
// The module attribute causes DllMain, DllRegisterServer and DllUnregisterServer to be automatically implemented for you
[ module(dll, uuid = "{4481D89B-F057-495e-A9C7-54D72A248720}",
name = "ASCOfficeDjVuFile",
helpstring = "ASCOfficeDjVuFile 1.0 Type Library",
resource_name = "IDR_ASCDJVUFILE") ]
class CAVSDjVuFileModule
{
public:
// Override CAtlDllModuleT members
};
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment