init ctai
This commit is contained in:
parent
ae8225b2ce
commit
eda1c1a2e9
260
3rdparty/MicroTeX/CMakeLists.txt
vendored
Normal file
260
3rdparty/MicroTeX/CMakeLists.txt
vendored
Normal file
@ -0,0 +1,260 @@
|
||||
cmake_minimum_required(VERSION 3.16)
|
||||
project(LaTeX)
|
||||
|
||||
add_library(LaTeX "")
|
||||
FIND_PACKAGE(Qt6 REQUIRED Core Gui Widgets)
|
||||
if (MSVC)
|
||||
set(CMAKE_CXX_STANDARD 17)
|
||||
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
||||
add_compile_options("/utf-8")
|
||||
target_compile_features(LaTeX PUBLIC cxx_std_17)
|
||||
else ()
|
||||
|
||||
# check if compiler has c++11/c++17 support
|
||||
|
||||
include(CheckCXXCompilerFlag)
|
||||
CHECK_CXX_COMPILER_FLAG("-std=c++11" COMPILER_SUPPORTS_CXX11)
|
||||
CHECK_CXX_COMPILER_FLAG("-std=c++17" COMPILER_SUPPORTS_CXX17)
|
||||
CHECK_CXX_COMPILER_FLAG("-std=c++20" COMPILER_SUPPORTS_CXX20)
|
||||
|
||||
# check gcc version
|
||||
set(CMAKE_CXX_STANDARD 20)
|
||||
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
||||
|
||||
if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU")
|
||||
if ("${CMAKE_CXX_COMPILER_VERSION}" VERSION_LESS 9)
|
||||
# needs extra lib to use std::filesystem
|
||||
target_link_libraries(LaTeX PUBLIC "stdc++fs")
|
||||
endif ()
|
||||
if ("${CMAKE_CXX_COMPILER_VERSION}" VERSION_LESS 8)
|
||||
# dose not have full c++17 features
|
||||
set(COMPILER_SUPPORTS_CXX17 OFF)
|
||||
endif ()
|
||||
endif ()
|
||||
|
||||
if (COMPILER_SUPPORTS_CXX20)
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++20")
|
||||
elseif (COMPILER_SUPPORTS_CXX17)
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++17")
|
||||
elseif (COMPILER_SUPPORTS_CXX11)
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
|
||||
else ()
|
||||
message(FATAL_ERROR "The compiler ${CMAKE_CXX_COMPILER} has no c++11 support. Please use a different one that supports c++11.")
|
||||
endif ()
|
||||
endif ()
|
||||
# copy res dir
|
||||
|
||||
file(COPY res DESTINATION .)
|
||||
if (MSVC)
|
||||
find_package(tinyxml2 CONFIG REQUIRED)
|
||||
target_link_libraries(LaTeX PRIVATE tinyxml2::tinyxml2)
|
||||
else ()
|
||||
find_package(PkgConfig REQUIRED)
|
||||
pkg_check_modules(tinyxml2 REQUIRED IMPORTED_TARGET tinyxml2)
|
||||
target_link_libraries(LaTeX PRIVATE tinyxml2)
|
||||
endif ()
|
||||
|
||||
# source files
|
||||
target_sources(LaTeX PRIVATE
|
||||
# atom folder
|
||||
src/atom/atom_basic.cpp
|
||||
src/atom/atom_char.cpp
|
||||
src/atom/atom_impl.cpp
|
||||
src/atom/atom_matrix.cpp
|
||||
src/atom/atom_row.cpp
|
||||
src/atom/atom_space.cpp
|
||||
src/atom/colors_def.cpp
|
||||
src/atom/unit_conversion.cpp
|
||||
# box folder
|
||||
src/box/box.cpp
|
||||
src/box/box_factory.cpp
|
||||
src/box/box_group.cpp
|
||||
src/box/box_single.cpp
|
||||
# core folder
|
||||
src/core/core.cpp
|
||||
src/core/formula.cpp
|
||||
src/core/formula_def.cpp
|
||||
src/core/glue.cpp
|
||||
src/core/localized_num.cpp
|
||||
src/core/macro.cpp
|
||||
src/core/macro_def.cpp
|
||||
src/core/macro_impl.cpp
|
||||
src/core/parser.cpp
|
||||
# fonts folder
|
||||
src/fonts/alphabet.cpp
|
||||
src/fonts/font_basic.cpp
|
||||
src/fonts/font_info.cpp
|
||||
src/fonts/fonts.cpp
|
||||
# utils folder
|
||||
src/utils/string_utils.cpp
|
||||
src/utils/utf.cpp
|
||||
src/utils/utils.cpp
|
||||
# res folder
|
||||
src/res/builtin/formula_mappings.res.cpp
|
||||
src/res/builtin/symbol_mapping.res.cpp
|
||||
src/res/builtin/tex_param.res.cpp
|
||||
src/res/builtin/tex_symbols.res.cpp
|
||||
src/res/font/bi10.def.cpp
|
||||
src/res/font/bx10.def.cpp
|
||||
src/res/font/cmbsy10.def.cpp
|
||||
src/res/font/cmbx10.def.cpp
|
||||
src/res/font/cmbxti10.def.cpp
|
||||
src/res/font/cmex10.def.cpp
|
||||
src/res/font/cmmi10.def.cpp
|
||||
src/res/font/cmmi10_unchanged.def.cpp
|
||||
src/res/font/cmmib10.def.cpp
|
||||
src/res/font/cmmib10_unchanged.def.cpp
|
||||
src/res/font/cmr10.def.cpp
|
||||
src/res/font/cmss10.def.cpp
|
||||
src/res/font/cmssbx10.def.cpp
|
||||
src/res/font/cmssi10.def.cpp
|
||||
src/res/font/cmsy10.def.cpp
|
||||
src/res/font/cmti10.def.cpp
|
||||
src/res/font/cmti10_unchanged.def.cpp
|
||||
src/res/font/cmtt10.def.cpp
|
||||
src/res/font/dsrom10.def.cpp
|
||||
src/res/font/eufb10.def.cpp
|
||||
src/res/font/eufm10.def.cpp
|
||||
src/res/font/i10.def.cpp
|
||||
src/res/font/moustache.def.cpp
|
||||
src/res/font/msam10.def.cpp
|
||||
src/res/font/msbm10.def.cpp
|
||||
src/res/font/r10.def.cpp
|
||||
src/res/font/r10_unchanged.def.cpp
|
||||
src/res/font/rsfs10.def.cpp
|
||||
src/res/font/sb10.def.cpp
|
||||
src/res/font/sbi10.def.cpp
|
||||
src/res/font/si10.def.cpp
|
||||
src/res/font/special.def.cpp
|
||||
src/res/font/ss10.def.cpp
|
||||
src/res/font/stmary10.def.cpp
|
||||
src/res/font/tt10.def.cpp
|
||||
src/res/parser/font_parser.cpp
|
||||
src/res/parser/formula_parser.cpp
|
||||
src/res/reg/builtin_font_reg.cpp
|
||||
src/res/reg/builtin_syms_reg.cpp
|
||||
src/res/sym/amsfonts.def.cpp
|
||||
src/res/sym/amssymb.def.cpp
|
||||
src/res/sym/base.def.cpp
|
||||
src/res/sym/stmaryrd.def.cpp
|
||||
src/res/sym/symspecial.def.cpp
|
||||
|
||||
src/latex.cpp
|
||||
src/render.cpp
|
||||
)
|
||||
target_include_directories(LaTeX PUBLIC src)
|
||||
|
||||
# check operating system
|
||||
|
||||
if (QT)
|
||||
message(STATUS, "Cross platform build using Qt")
|
||||
target_compile_definitions(LaTeX PUBLIC -DBUILD_QT)
|
||||
find_package(QT NAMES Qt6 Qt5 COMPONENTS Gui Widgets PrintSupport REQUIRED)
|
||||
find_package(Qt${QT_VERSION_MAJOR} COMPONENTS Gui Widgets PrintSupport REQUIRED)
|
||||
target_sources(LaTeX PRIVATE
|
||||
src/platform/qt/graphic_qt.cpp
|
||||
)
|
||||
target_link_libraries(LaTeX PRIVATE
|
||||
Qt${QT_VERSION_MAJOR}::Gui
|
||||
)
|
||||
#add_executable(LaTeXQtSample
|
||||
# src/samples/qt_texwidget.cpp
|
||||
# src/samples/qt_mainwindow.cpp
|
||||
# src/samples/qt_main.cpp
|
||||
# )
|
||||
#target_link_libraries(LaTeXQtSample PRIVATE
|
||||
# Qt${QT_VERSION_MAJOR}::Widgets
|
||||
# Qt${QT_VERSION_MAJOR}::PrintSupport
|
||||
# LaTeX)
|
||||
#set_target_properties(LaTeXQtSample PROPERTIES OUTPUT_NAME LaTeX)
|
||||
#set_target_properties(LaTeXQtSample PROPERTIES AUTOMOC ON)
|
||||
elseif (SKIA)
|
||||
message(STATUS, "Cross platform build using Qt and Skia for rendering")
|
||||
target_compile_definitions(LaTeX PUBLIC -DBUILD_SKIA -DSK_GL)
|
||||
target_include_directories(LaTeX PUBLIC src)
|
||||
if (MSVC)
|
||||
find_package(skia REQUIRED)
|
||||
target_link_libraries(LaTeX INTERFACE skia skia::skia)
|
||||
else ()
|
||||
include_directories(../skia ../skia/include)
|
||||
link_directories(../skia)
|
||||
endif ()
|
||||
find_package(QT NAMES Qt6 Qt5 COMPONENTS Core Widgets REQUIRED)
|
||||
find_package(Qt${QT_VERSION_MAJOR} COMPONENTS Core Widgets REQUIRED)
|
||||
target_sources(LaTeX PRIVATE
|
||||
src/platform/skia/graphic_skia.cpp
|
||||
)
|
||||
target_link_libraries(LaTeX PRIVATE
|
||||
Qt${QT_VERSION_MAJOR}::Core
|
||||
)
|
||||
add_executable(LaTeXQtSkiaSample
|
||||
src/samples/qt_skiatexwidget.cpp
|
||||
src/samples/qt_mainwindow.cpp
|
||||
src/samples/qt_main.cpp
|
||||
)
|
||||
target_link_libraries(LaTeXQtSkiaSample PRIVATE
|
||||
Qt${QT_VERSION_MAJOR}::Widgets LaTeX)
|
||||
set_target_properties(LaTeXQtSkiaSample PROPERTIES OUTPUT_NAME LaTeX)
|
||||
set_target_properties(LaTeXQtSkiaSample PROPERTIES AUTOMOC ON)
|
||||
elseif (WIN32)
|
||||
message(STATUS "We are working on Windows")
|
||||
target_compile_definitions(LaTeX PUBLIC -DBUILD_WIN32 -D_HAS_STD_BYTE=0)
|
||||
add_executable(LaTeXWin32Sample WIN32
|
||||
src/platform/gdi_win/graphic_win32.cpp
|
||||
src/samples/win32_main.cpp
|
||||
)
|
||||
target_link_libraries(LaTeXWin32Sample PRIVATE gdiplus LaTeX)
|
||||
set_target_properties(LaTeXWin32Sample PROPERTIES OUTPUT_NAME LaTeX)
|
||||
elseif (UNIX)
|
||||
message(STATUS "We are working with GTK on a Unix like OS")
|
||||
target_compile_definitions(LaTeX PUBLIC -DBUILD_GTK)
|
||||
find_package(Fontconfig REQUIRED)
|
||||
pkg_check_modules(GTKMM REQUIRED IMPORTED_TARGET gtkmm-3.0)
|
||||
pkg_check_modules(GSVMM REQUIRED IMPORTED_TARGET gtksourceviewmm-3.0)
|
||||
pkg_check_modules(CairoMM REQUIRED IMPORTED_TARGET cairomm-1.0)
|
||||
target_sources(LaTeX PRIVATE
|
||||
src/platform/cairo/graphic_cairo.cpp
|
||||
)
|
||||
target_link_libraries(LaTeX PRIVATE
|
||||
PkgConfig::GTKMM #include <pangomm/fontdescription.h>
|
||||
PkgConfig::CairoMM #include <cairomm/context.h>
|
||||
Fontconfig::Fontconfig
|
||||
)
|
||||
add_executable(LaTeXGtkSample
|
||||
src/samples/gtkmm_main.cpp
|
||||
)
|
||||
target_link_libraries(LaTeXGtkSample PRIVATE
|
||||
PkgConfig::GSVMM
|
||||
LaTeX
|
||||
)
|
||||
set_target_properties(LaTeXGtkSample PROPERTIES OUTPUT_NAME LaTeX)
|
||||
else ()
|
||||
message(STATUS "We are working on a unknown platform")
|
||||
# other platforms...
|
||||
endif ()
|
||||
|
||||
# compile options
|
||||
|
||||
option(HAVE_LOG "If enable log" OFF)
|
||||
if (HAVE_LOG)
|
||||
#add_definitions(-DHAVE_LOG)
|
||||
endif ()
|
||||
|
||||
option(GRAPHICS_DEBUG "If enable graphics debug" OFF)
|
||||
if (GRAPHICS_DEBUG)
|
||||
#add_definitions(-DGRAPHICS_DEBUG)
|
||||
endif ()
|
||||
|
||||
option(MEM_CHECK "If compile for memory check only" OFF)
|
||||
if (MEM_CHECK)
|
||||
#add_definitions(-DMEM_CHECK)
|
||||
endif ()
|
||||
|
||||
option(QT "Compile using Qt instead of Win32/Gtk" ON)
|
||||
|
||||
|
||||
option(BUILD_EXAMPLE "Build examples" OFF)
|
||||
if (BUILD_EXAMPLE)
|
||||
#add_subdirectory(example)
|
||||
endif ()
|
||||
|
||||
21
3rdparty/MicroTeX/LICENSE
vendored
Normal file
21
3rdparty/MicroTeX/LICENSE
vendored
Normal file
@ -0,0 +1,21 @@
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2020 Nano Michael
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
9
3rdparty/MicroTeX/example/CMakeLists.txt
vendored
Normal file
9
3rdparty/MicroTeX/example/CMakeLists.txt
vendored
Normal file
@ -0,0 +1,9 @@
|
||||
add_executable(latex2png latex2png.cpp)
|
||||
|
||||
find_package(QT NAMES Qt6 Qt5 COMPONENTS Core Gui REQUIRED)
|
||||
find_package(Qt${QT_VERSION_MAJOR} COMPONENTS Core Gui REQUIRED)
|
||||
target_link_libraries(latex2png PRIVATE
|
||||
LaTeX
|
||||
Qt${QT_VERSION_MAJOR}::Core
|
||||
Qt${QT_VERSION_MAJOR}::Gui
|
||||
)
|
||||
76
3rdparty/MicroTeX/example/latex2png.cpp
vendored
Normal file
76
3rdparty/MicroTeX/example/latex2png.cpp
vendored
Normal file
@ -0,0 +1,76 @@
|
||||
//
|
||||
// Created by pikachu on 2021/5/11.
|
||||
//
|
||||
|
||||
|
||||
#include "latex.h"
|
||||
#include "platform/qt/graphic_qt.h"
|
||||
#include <QGuiApplication>
|
||||
#include <QFile>
|
||||
#include <QCommandLineParser>
|
||||
#include <QDebug>
|
||||
#include <QPainter>
|
||||
#include <QPixmap>
|
||||
#include <QTimer>
|
||||
|
||||
class TexGuard {
|
||||
public:
|
||||
TexGuard() {
|
||||
tex::LaTeX::init();
|
||||
}
|
||||
|
||||
~TexGuard() {
|
||||
tex::LaTeX::release();
|
||||
}
|
||||
};
|
||||
|
||||
int main(int argc, char **argv) {
|
||||
QGuiApplication app(argc, argv);
|
||||
TexGuard texGuard;
|
||||
#ifdef BUILD_SKIA
|
||||
initGL();
|
||||
#endif
|
||||
if (argc != 3) {
|
||||
qDebug() << "Usage: latex2png tex_name png_name";
|
||||
return 1;
|
||||
}
|
||||
for (int i = 0; i < argc; i++) {
|
||||
qDebug() << i << argv[i];
|
||||
}
|
||||
QString texName = argv[1];
|
||||
QString pngName = argv[2];
|
||||
if (!pngName.endsWith(".png")) {
|
||||
pngName += ".png";
|
||||
}
|
||||
QFile file(texName);
|
||||
if (!file.exists()) {
|
||||
qDebug() << "file not exist." << texName;
|
||||
return 2;
|
||||
}
|
||||
auto ok = file.open(QIODevice::ReadOnly);
|
||||
if (!ok) {
|
||||
qDebug() << "file open fail." << texName;
|
||||
return 3;
|
||||
}
|
||||
QString latex = file.readAll();
|
||||
qDebug() << latex;
|
||||
auto render = tex::LaTeX::parse(
|
||||
latex.toStdWString(),
|
||||
600 - 0 * 2,
|
||||
20,
|
||||
20 / 3.f,
|
||||
0xff424242);
|
||||
qDebug() << render->getWidth() << render->getHeight();
|
||||
QPixmap img(render->getWidth(), render->getHeight());
|
||||
img.fill(Qt::white);
|
||||
QPainter painter(&img);
|
||||
painter.setRenderHint(QPainter::Antialiasing, true);
|
||||
tex::Graphics2D_qt g2(&painter);
|
||||
render->draw(g2, 0, 0);
|
||||
ok = img.save(pngName);
|
||||
if (!ok) {
|
||||
qDebug() << "save image fail." << pngName;
|
||||
return 4;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
74
3rdparty/MicroTeX/latex.qrc
vendored
Normal file
74
3rdparty/MicroTeX/latex.qrc
vendored
Normal file
@ -0,0 +1,74 @@
|
||||
<RCC>
|
||||
<qresource prefix="/">
|
||||
<file>res/cyrillic/cyrillic.map.xml</file>
|
||||
<file>res/cyrillic/language_cyrillic.xml</file>
|
||||
<file>res/cyrillic/mappings_cyrillic.xml</file>
|
||||
<file>res/cyrillic/symbols_cyrillic.xml</file>
|
||||
<file>res/cyrillic/wnbx10.ttf</file>
|
||||
<file>res/cyrillic/wnbx10.xml</file>
|
||||
<file>res/cyrillic/wnbxti10.ttf</file>
|
||||
<file>res/cyrillic/wnbxti10.xml</file>
|
||||
<file>res/cyrillic/wnr10.ttf</file>
|
||||
<file>res/cyrillic/wnr10.xml</file>
|
||||
<file>res/cyrillic/wnss10.ttf</file>
|
||||
<file>res/cyrillic/wnss10.xml</file>
|
||||
<file>res/cyrillic/wnssbx10.ttf</file>
|
||||
<file>res/cyrillic/wnssbx10.xml</file>
|
||||
<file>res/cyrillic/wnssi10.ttf</file>
|
||||
<file>res/cyrillic/wnssi10.xml</file>
|
||||
<file>res/cyrillic/wnti10.ttf</file>
|
||||
<file>res/cyrillic/wnti10.xml</file>
|
||||
<file>res/cyrillic/wntt10.ttf</file>
|
||||
<file>res/cyrillic/wntt10.xml</file>
|
||||
<file>res/fonts/base/cmex10.ttf</file>
|
||||
<file>res/fonts/base/cmmi10.ttf</file>
|
||||
<file>res/fonts/base/cmmib10.ttf</file>
|
||||
<file>res/fonts/euler/eufb10.ttf</file>
|
||||
<file>res/fonts/euler/eufm10.ttf</file>
|
||||
<file>res/fonts/latin/optional/cmbx10.ttf</file>
|
||||
<file>res/fonts/latin/optional/cmbxti10.ttf</file>
|
||||
<file>res/fonts/latin/optional/cmss10.ttf</file>
|
||||
<file>res/fonts/latin/optional/cmssbx10.ttf</file>
|
||||
<file>res/fonts/latin/optional/cmssi10.ttf</file>
|
||||
<file>res/fonts/latin/optional/cmti10.ttf</file>
|
||||
<file>res/fonts/latin/optional/cmtt10.ttf</file>
|
||||
<file>res/fonts/latin/bi10.ttf</file>
|
||||
<file>res/fonts/latin/bx10.ttf</file>
|
||||
<file>res/fonts/latin/cmr10.ttf</file>
|
||||
<file>res/fonts/latin/i10.ttf</file>
|
||||
<file>res/fonts/latin/r10.ttf</file>
|
||||
<file>res/fonts/latin/sb10.ttf</file>
|
||||
<file>res/fonts/latin/sbi10.ttf</file>
|
||||
<file>res/fonts/latin/si10.ttf</file>
|
||||
<file>res/fonts/latin/ss10.ttf</file>
|
||||
<file>res/fonts/latin/tt10.ttf</file>
|
||||
<file>res/fonts/maths/optional/dsrom10.ttf</file>
|
||||
<file>res/fonts/maths/cmbsy10.ttf</file>
|
||||
<file>res/fonts/maths/cmsy10.ttf</file>
|
||||
<file>res/fonts/maths/msam10.ttf</file>
|
||||
<file>res/fonts/maths/msbm10.ttf</file>
|
||||
<file>res/fonts/maths/rsfs10.ttf</file>
|
||||
<file>res/fonts/maths/special.ttf</file>
|
||||
<file>res/fonts/maths/stmary10.ttf</file>
|
||||
<file>res/greek/fcmbipg.ttf</file>
|
||||
<file>res/greek/fcmbipg.xml</file>
|
||||
<file>res/greek/fcmbpg.ttf</file>
|
||||
<file>res/greek/fcmbpg.xml</file>
|
||||
<file>res/greek/fcmripg.ttf</file>
|
||||
<file>res/greek/fcmripg.xml</file>
|
||||
<file>res/greek/fcmrpg.ttf</file>
|
||||
<file>res/greek/fcmrpg.xml</file>
|
||||
<file>res/greek/fcsbpg.ttf</file>
|
||||
<file>res/greek/fcsbpg.xml</file>
|
||||
<file>res/greek/fcsropg.ttf</file>
|
||||
<file>res/greek/fcsropg.xml</file>
|
||||
<file>res/greek/fcsrpg.ttf</file>
|
||||
<file>res/greek/fcsrpg.xml</file>
|
||||
<file>res/greek/fctrpg.ttf</file>
|
||||
<file>res/greek/fctrpg.xml</file>
|
||||
<file>res/greek/greek.map.xml</file>
|
||||
<file>res/greek/language_greek.xml</file>
|
||||
<file>res/greek/mappings_greek.xml</file>
|
||||
<file>res/greek/symbols_greek.xml</file>
|
||||
</qresource>
|
||||
</RCC>
|
||||
507
3rdparty/MicroTeX/prebuilt/otf_clm.py
vendored
Normal file
507
3rdparty/MicroTeX/prebuilt/otf_clm.py
vendored
Normal file
@ -0,0 +1,507 @@
|
||||
#!/usr/bin/python2
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
# Parse open-type font file and convert to `clm` format file
|
||||
|
||||
import json
|
||||
import sys
|
||||
from functools import reduce, partial
|
||||
import fontforge
|
||||
import struct
|
||||
|
||||
|
||||
def chain(*fs):
|
||||
def _chain(f, g):
|
||||
return lambda x: g(f(x))
|
||||
return reduce(_chain, fs, lambda x: x)
|
||||
|
||||
|
||||
def fmap(f, it):
|
||||
return [j for i in it for j in f(i)]
|
||||
|
||||
|
||||
def do(f, x):
|
||||
f(x)
|
||||
return x
|
||||
|
||||
|
||||
def do_loop(f, xs):
|
||||
for x in xs:
|
||||
f(x)
|
||||
return xs
|
||||
|
||||
|
||||
def find_first(xs, predicate):
|
||||
for x in xs:
|
||||
if predicate(x):
|
||||
return x
|
||||
return None
|
||||
|
||||
|
||||
def read_math_consts(font):
|
||||
m = font.math
|
||||
return [
|
||||
m.ScriptPercentScaleDown,
|
||||
m.ScriptScriptPercentScaleDown,
|
||||
m.DelimitedSubFormulaMinHeight,
|
||||
m.DisplayOperatorMinHeight,
|
||||
m.MathLeading,
|
||||
m.AxisHeight,
|
||||
m.AccentBaseHeight,
|
||||
m.FlattenedAccentBaseHeight,
|
||||
m.SubscriptShiftDown,
|
||||
m.SubscriptTopMax,
|
||||
m.SubscriptBaselineDropMin,
|
||||
m.SuperscriptShiftUp,
|
||||
m.SuperscriptShiftUpCramped,
|
||||
m.SuperscriptBottomMin,
|
||||
m.SuperscriptBaselineDropMax,
|
||||
m.SubSuperscriptGapMin,
|
||||
m.SuperscriptBottomMaxWithSubscript,
|
||||
m.SpaceAfterScript,
|
||||
m.UpperLimitGapMin,
|
||||
m.UpperLimitBaselineRiseMin,
|
||||
m.LowerLimitGapMin,
|
||||
m.LowerLimitBaselineDropMin,
|
||||
m.StackTopShiftUp,
|
||||
m.StackTopDisplayStyleShiftUp,
|
||||
m.StackBottomShiftDown,
|
||||
m.StackBottomDisplayStyleShiftDown,
|
||||
m.StackGapMin,
|
||||
m.StackDisplayStyleGapMin,
|
||||
m.StretchStackTopShiftUp,
|
||||
m.StretchStackBottomShiftDown,
|
||||
m.StretchStackGapAboveMin,
|
||||
m.StretchStackGapBelowMin,
|
||||
m.FractionNumeratorShiftUp,
|
||||
m.FractionNumeratorDisplayStyleShiftUp,
|
||||
m.FractionDenominatorShiftDown,
|
||||
m.FractionDenominatorDisplayStyleShiftDown,
|
||||
m.FractionNumeratorGapMin,
|
||||
m.FractionNumeratorDisplayStyleGapMin,
|
||||
m.FractionRuleThickness,
|
||||
m.FractionDenominatorGapMin,
|
||||
m.FractionDenominatorDisplayStyleGapMin,
|
||||
m.SkewedFractionHorizontalGap,
|
||||
m.SkewedFractionVerticalGap,
|
||||
m.OverbarVerticalGap,
|
||||
m.OverbarRuleThickness,
|
||||
m.OverbarExtraAscender,
|
||||
m.UnderbarVerticalGap,
|
||||
m.UnderbarRuleThickness,
|
||||
m.UnderbarExtraDescender,
|
||||
m.RadicalVerticalGap,
|
||||
m.RadicalDisplayStyleVerticalGap,
|
||||
m.RadicalRuleThickness,
|
||||
m.RadicalExtraAscender,
|
||||
m.RadicalKernBeforeDegree,
|
||||
m.RadicalKernAfterDegree,
|
||||
m.RadicalDegreeBottomRaisePercent,
|
||||
m.MinConnectorOverlap
|
||||
]
|
||||
|
||||
|
||||
def read_metrics(glyph):
|
||||
'''
|
||||
Return a tuple to represents metrics, in (width, height, depth) order
|
||||
'''
|
||||
bounding_box = glyph.boundingBox()
|
||||
return (
|
||||
glyph.width,
|
||||
bounding_box[2],
|
||||
-bounding_box[1]
|
||||
)
|
||||
|
||||
|
||||
def read_variants(get_variants):
|
||||
'''
|
||||
Return a array of glyph names to represents variants
|
||||
'''
|
||||
variants = get_variants()
|
||||
if not variants:
|
||||
return []
|
||||
return variants.split(' ')
|
||||
|
||||
|
||||
def read_glyph_assembly(get_assembly):
|
||||
'''
|
||||
Return a tuple
|
||||
(
|
||||
italics_correction,
|
||||
(
|
||||
(glyph_name, flag, start_connector_length, end_connector_length, full_advance),
|
||||
...
|
||||
)
|
||||
)
|
||||
'''
|
||||
return get_assembly()
|
||||
|
||||
|
||||
def read_math_kern_record(glyph):
|
||||
'''
|
||||
Return a tuple contains 4 elements in clockwise direction, None means not represent
|
||||
(
|
||||
((correction_height, kerning), ...),
|
||||
None,
|
||||
...
|
||||
)
|
||||
'''
|
||||
return (
|
||||
glyph.mathKern.topLeft,
|
||||
glyph.mathKern.topRight,
|
||||
glyph.mathKern.bottomLeft,
|
||||
glyph.mathKern.bottomRight,
|
||||
)
|
||||
|
||||
|
||||
def read_math(glyph):
|
||||
return (
|
||||
glyph.italicCorrection,
|
||||
glyph.topaccent,
|
||||
read_variants(lambda: glyph.horizontalVariants),
|
||||
read_variants(lambda: glyph.verticalVariants),
|
||||
read_glyph_assembly(lambda: (
|
||||
glyph.horizontalComponentItalicCorrection,
|
||||
glyph.horizontalComponents,
|
||||
)),
|
||||
read_glyph_assembly(lambda: (
|
||||
glyph.verticalComponentItalicCorrection,
|
||||
glyph.verticalComponents,
|
||||
)),
|
||||
read_math_kern_record(glyph),
|
||||
)
|
||||
|
||||
|
||||
def read_kern(glyph, kern_subtable_names):
|
||||
'''
|
||||
Return array of tuples represents kerning
|
||||
[
|
||||
(glyph_name, kerning),
|
||||
...
|
||||
]
|
||||
'''
|
||||
return chain(
|
||||
partial(fmap, lambda subtable_name: glyph.getPosSub(subtable_name)),
|
||||
# only care about horizontal kerning
|
||||
partial(filter, lambda kern_info: kern_info[5] != 0),
|
||||
partial(map, lambda kern_info: (kern_info[2], kern_info[5],))
|
||||
)(kern_subtable_names)
|
||||
|
||||
|
||||
def read_glyph(glyph, is_math_font, kern_subtable_names):
|
||||
'''
|
||||
Return a tuple
|
||||
(
|
||||
metrics,
|
||||
kerning,
|
||||
math
|
||||
)
|
||||
'''
|
||||
return (
|
||||
read_metrics(glyph),
|
||||
read_kern(glyph, kern_subtable_names),
|
||||
None if not is_math_font else read_math(glyph),
|
||||
)
|
||||
|
||||
|
||||
def _read_lookup_subtables(
|
||||
font, is_target_lookup=lambda x: True, is_target_subtable=lambda x: True):
|
||||
'''
|
||||
Return a function to get the subtable names
|
||||
'''
|
||||
def _is_target_lookup(lookup_name):
|
||||
lookup_info = font.getLookupInfo(lookup_name)
|
||||
return lookup_info and is_target_lookup(lookup_info)
|
||||
|
||||
return chain(
|
||||
partial(filter, _is_target_lookup),
|
||||
partial(fmap, lambda lookup_name: font.getLookupSubtables(lookup_name)),
|
||||
partial(filter, is_target_subtable)
|
||||
)
|
||||
|
||||
|
||||
def read_kern_subtables(font):
|
||||
'''
|
||||
Return array of kerning subtable name
|
||||
'''
|
||||
return _read_lookup_subtables(
|
||||
font,
|
||||
lambda lookup_info: lookup_info[0] == 'gpos_pair',
|
||||
lambda subtable_name: not font.isKerningClass(subtable_name)
|
||||
)(font.gpos_lookups)
|
||||
|
||||
|
||||
def read_ligature_subtables(font):
|
||||
'''
|
||||
Return array of ligture subtable name
|
||||
'''
|
||||
return _read_lookup_subtables(
|
||||
font,
|
||||
lambda lookup_info: lookup_info[0] == 'gsub_ligature',
|
||||
)(font.gsub_lookups)
|
||||
|
||||
|
||||
def read_ligatures(glyph, liga_subtable_names):
|
||||
'''
|
||||
Return array of ligatures info represents by this glyph
|
||||
[
|
||||
((glyph_name, glyph_name, ...), glyph_id),
|
||||
...
|
||||
]
|
||||
'''
|
||||
get_ligas = chain(
|
||||
partial(fmap, lambda subtable_name: glyph.getPosSub(subtable_name)),
|
||||
partial(map, lambda liga_info: (liga_info[2:], glyph.originalgid,))
|
||||
)
|
||||
return get_ligas(liga_subtable_names)
|
||||
|
||||
|
||||
def read_kerning_class(font):
|
||||
'''
|
||||
Return array of kerning class table:
|
||||
(
|
||||
# glyphs on left
|
||||
(
|
||||
None, # first is None
|
||||
(glyph_name, glyph_name, ...),
|
||||
...
|
||||
),
|
||||
# glyphs on right
|
||||
(
|
||||
None, # first is None
|
||||
(glyph_name, glyph_name, ...),
|
||||
...
|
||||
),
|
||||
# kerning value
|
||||
(
|
||||
kerning_value,
|
||||
...
|
||||
)
|
||||
)
|
||||
'''
|
||||
get_tables = chain(
|
||||
_read_lookup_subtables(
|
||||
font,
|
||||
lambda lookup_info: lookup_info[0] == 'gpos_pair',
|
||||
lambda subtable_name: font.isKerningClass(subtable_name)
|
||||
),
|
||||
partial(map, lambda subtable_name: font.getKerningClass(subtable_name))
|
||||
)
|
||||
return get_tables(font.gpos_lookups)
|
||||
|
||||
|
||||
def write_clm_unicode_glyph_map(f, unicode_glyph_map):
|
||||
length = len(unicode_glyph_map)
|
||||
f.write(struct.pack('!H', length))
|
||||
sort_map = sorted(unicode_glyph_map, key=lambda x: x[0])
|
||||
for (codepoint, glyph_id,) in sort_map:
|
||||
f.write(struct.pack('!IH', codepoint, glyph_id))
|
||||
|
||||
|
||||
def write_clm_kerning_class(f, kerning_classes, glyph_name_id_map):
|
||||
length = len(kerning_classes)
|
||||
f.write(struct.pack('!H', length))
|
||||
|
||||
# map the names to (glyph, index_in_classes)
|
||||
write_classes = chain(
|
||||
partial(
|
||||
map,
|
||||
lambda (i, xs,): map(lambda x: (x, i,), xs)
|
||||
),
|
||||
partial(
|
||||
do,
|
||||
lambda xs: f.write(struct.pack('!H', len(xs)))
|
||||
),
|
||||
partial(fmap, lambda x: x),
|
||||
partial(
|
||||
map,
|
||||
lambda (name, index,): (glyph_name_id_map[name], index,)
|
||||
),
|
||||
partial(sorted, key=lambda x: x[0]),
|
||||
partial(
|
||||
do,
|
||||
lambda xs: f.write(struct.pack('!H', len(xs)))
|
||||
),
|
||||
partial(
|
||||
map,
|
||||
lambda (glyph, index,): struct.pack('!HH', glyph, index)
|
||||
),
|
||||
partial(
|
||||
do_loop,
|
||||
lambda bs: f.write(bs)
|
||||
)
|
||||
)
|
||||
|
||||
for (left, right, value,) in kerning_classes:
|
||||
write_classes(enumerate(left[1:]))
|
||||
write_classes(enumerate(right[1:]))
|
||||
column_count = len(right)
|
||||
for i, v in enumerate(value):
|
||||
if i < column_count or i % column_count == 0:
|
||||
continue
|
||||
f.write(struct.pack('!h', v))
|
||||
|
||||
|
||||
def write_ligas(f, ligas, glyph_name_id_map):
|
||||
forest = []
|
||||
|
||||
def add_node(glyphs, liga):
|
||||
children = forest
|
||||
child = None
|
||||
for (glyph, char,) in glyphs:
|
||||
child = find_first(children, lambda x: x['glyph'] == glyph)
|
||||
if not child:
|
||||
child = {'glyph': glyph, 'char': char,
|
||||
'liga': -1, 'children': []}
|
||||
children.append(child)
|
||||
children = child['children']
|
||||
child['liga'] = liga
|
||||
|
||||
for (chars, liga,) in ligas:
|
||||
add_node(
|
||||
map(lambda char: (glyph_name_id_map[char], char,), chars), liga)
|
||||
|
||||
def sort_children(children):
|
||||
for child in children:
|
||||
child['children'] = sort_children(child['children'])
|
||||
return sorted(children, key=lambda x: x['glyph'])
|
||||
|
||||
forest = sort_children(forest)
|
||||
|
||||
def write_node(node):
|
||||
f.write(struct.pack('!H', node['glyph']))
|
||||
f.write(struct.pack('!i', node['liga']))
|
||||
f.write(struct.pack('!H', len(node['children'])))
|
||||
for child in node['children']:
|
||||
write_node(child)
|
||||
|
||||
root = {'glyph': 0, 'char': 0, 'liga': -1, 'children': forest}
|
||||
write_node(root)
|
||||
|
||||
|
||||
def write_math_consts(f, consts):
|
||||
for v in consts:
|
||||
f.write(struct.pack('!h', v))
|
||||
|
||||
|
||||
def write_glyphs(f, glyphs, glyph_name_id_map, is_math_font):
|
||||
f.write(struct.pack('!H', len(glyphs)))
|
||||
|
||||
def write_metrics(metrics):
|
||||
for v in metrics:
|
||||
f.write(struct.pack('!h', v))
|
||||
|
||||
def write_kerns(kerns):
|
||||
if not kerns:
|
||||
f.write(struct.pack('!H', 0))
|
||||
return
|
||||
f.write(struct.pack('!H', len(kerns)))
|
||||
sorted_kerns = chain(
|
||||
partial(map, lambda x: (glyph_name_id_map[x[0]], x[1],)),
|
||||
partial(sorted, key=lambda x: x[0])
|
||||
)(kerns)
|
||||
for (glyph, value,) in sorted_kerns:
|
||||
f.write(struct.pack('!Hh', glyph, value))
|
||||
|
||||
def write_variants(variants):
|
||||
length = 0 if not variants else len(variants)
|
||||
f.write(struct.pack('!H', length))
|
||||
if length == 0:
|
||||
return
|
||||
ids = map(lambda x: glyph_name_id_map[x], variants)
|
||||
for i in ids:
|
||||
f.write(struct.pack('!H', i))
|
||||
|
||||
def write_glyph_assembly(assembly):
|
||||
if not assembly or not assembly[1]:
|
||||
f.write(struct.pack('?', False))
|
||||
return
|
||||
f.write(struct.pack('?', True))
|
||||
f.write(struct.pack('!H', len(assembly[1])))
|
||||
f.write(struct.pack('!h', assembly[0])) # italics correction
|
||||
for part in assembly[1]:
|
||||
f.write(struct.pack('!H', glyph_name_id_map[part[0]]))
|
||||
for v in part[1:]:
|
||||
f.write(struct.pack('!H', v))
|
||||
|
||||
def write_math_kern(math_kerns):
|
||||
for i in math_kerns:
|
||||
if not i:
|
||||
f.write(struct.pack('!H', 0))
|
||||
continue
|
||||
f.write(struct.pack('!H', len(i)))
|
||||
for (correction_height, value,) in i:
|
||||
f.write(struct.pack('!hh', correction_height, value))
|
||||
|
||||
def write_math(math):
|
||||
f.write(struct.pack('!h', math[0])) # italics correction
|
||||
f.write(struct.pack('!h', math[1])) # topaccent attachment
|
||||
write_variants(math[2]) # horizontal variants
|
||||
write_variants(math[3]) # vertical variants
|
||||
write_glyph_assembly(math[4]) # horizontal assembly
|
||||
write_glyph_assembly(math[5]) # vertical assembly
|
||||
write_math_kern(math[6]) # math kern
|
||||
|
||||
for glyph in glyphs:
|
||||
write_metrics(glyph[0])
|
||||
write_kerns(glyph[1])
|
||||
if is_math_font:
|
||||
write_math(glyph[2])
|
||||
|
||||
|
||||
def parse_otf(file_path, is_math_font, output_file_path):
|
||||
font = fontforge.open(file_path)
|
||||
|
||||
# read math constants
|
||||
math_consts = []
|
||||
if is_math_font:
|
||||
math_consts = read_math_consts(font)
|
||||
|
||||
# read kern subtables
|
||||
kern_subtable_names = read_kern_subtables(font)
|
||||
# read ligature subtables
|
||||
liga_subtable_names = read_ligature_subtables(font)
|
||||
# read kern class tables
|
||||
kern_class_tables = read_kerning_class(font)
|
||||
|
||||
unicode_glyph_map = []
|
||||
glyph_name_id_map = {}
|
||||
glyphs = []
|
||||
ligas = []
|
||||
|
||||
# read glyphs in GID order
|
||||
for glyph_name in font:
|
||||
glyph = font[glyph_name]
|
||||
|
||||
# unicode-glyph map
|
||||
if glyph.unicode != -1:
|
||||
unicode_glyph_map.append((glyph.unicode, glyph.originalgid,))
|
||||
|
||||
print(glyph.originalgid, glyph_name)
|
||||
glyph_name_id_map[glyph_name] = glyph.originalgid
|
||||
# glyph info
|
||||
glyphs.append(read_glyph(glyph, is_math_font, kern_subtable_names))
|
||||
|
||||
# read ligature
|
||||
liga_info = read_ligatures(glyph, liga_subtable_names)
|
||||
for l in liga_info:
|
||||
ligas.append(l)
|
||||
|
||||
em = font.em
|
||||
xheight = font.xHeight
|
||||
font.close()
|
||||
|
||||
with open(output_file_path, 'wb') as f:
|
||||
f.write(struct.pack('?', is_math_font))
|
||||
f.write(struct.pack('!H', em))
|
||||
f.write(struct.pack('!H', xheight))
|
||||
write_clm_unicode_glyph_map(f, unicode_glyph_map)
|
||||
write_clm_kerning_class(f, kern_class_tables, glyph_name_id_map)
|
||||
write_ligas(f, ligas, glyph_name_id_map)
|
||||
if is_math_font:
|
||||
write_math_consts(f, math_consts)
|
||||
write_glyphs(f, glyphs, glyph_name_id_map, is_math_font)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
parse_otf(sys.argv[1], sys.argv[2] == 'true', sys.argv[3])
|
||||
0
3rdparty/MicroTeX/res/.clatexmath-res_root
vendored
Normal file
0
3rdparty/MicroTeX/res/.clatexmath-res_root
vendored
Normal file
73
3rdparty/MicroTeX/res/RES_README
vendored
Normal file
73
3rdparty/MicroTeX/res/RES_README
vendored
Normal file
@ -0,0 +1,73 @@
|
||||
fonts/licences/OFL.txt
|
||||
fonts/licences/License_for_dsrom.txt
|
||||
fonts/licences/Knuth_License.txt
|
||||
fonts/euler/eufb10.ttf
|
||||
fonts/euler/eufm10.ttf
|
||||
fonts/base/cmmi10.ttf
|
||||
fonts/base/cmmib10.ttf
|
||||
fonts/base/cmex10.ttf
|
||||
fonts/latin/sb10.ttf
|
||||
fonts/latin/optional/cmss10.ttf
|
||||
fonts/latin/optional/cmtt10.ttf
|
||||
fonts/latin/optional/cmbxti10.ttf
|
||||
fonts/latin/optional/cmssbx10.ttf
|
||||
fonts/latin/optional/cmbx10.ttf
|
||||
fonts/latin/optional/cmti10.ttf
|
||||
fonts/latin/optional/cmssi10.ttf
|
||||
fonts/latin/i10.ttf
|
||||
fonts/latin/bi10.ttf
|
||||
fonts/latin/ss10.ttf
|
||||
fonts/latin/cmr10.ttf
|
||||
fonts/latin/tt10.ttf
|
||||
fonts/latin/si10.ttf
|
||||
fonts/latin/bx10.ttf
|
||||
fonts/latin/r10.ttf
|
||||
fonts/latin/sbi10.ttf
|
||||
fonts/maths/cmsy10.ttf
|
||||
fonts/maths/optional/dsrom10.ttf
|
||||
fonts/maths/rsfs10.ttf
|
||||
fonts/maths/special.ttf
|
||||
fonts/maths/msam10.ttf
|
||||
fonts/maths/stmary10.ttf
|
||||
fonts/maths/cmbsy10.ttf
|
||||
fonts/maths/msbm10.ttf
|
||||
greek/fcmrpg.ttf
|
||||
greek/fcsrpg.ttf
|
||||
greek/fcmbipg.ttf
|
||||
greek/fctrpg.ttf
|
||||
greek/fctrpg.xml
|
||||
greek/fcmbpg.xml
|
||||
greek/fcsbpg.ttf
|
||||
greek/fcmrpg.xml
|
||||
greek/language_greek.xml
|
||||
greek/fcmripg.ttf
|
||||
greek/fcsropg.ttf
|
||||
greek/fcsrpg.xml
|
||||
greek/fcsbpg.xml
|
||||
greek/greek.map.xml
|
||||
greek/mappings_greek.xml
|
||||
greek/fcsropg.xml
|
||||
greek/fcmbpg.ttf
|
||||
greek/symbols_greek.xml
|
||||
greek/fcmripg.xml
|
||||
greek/fcmbipg.xml
|
||||
cyrillic/wnbx10.xml
|
||||
cyrillic/cyrillic.map.xml
|
||||
cyrillic/wnssi10.ttf
|
||||
cyrillic/wntt10.ttf
|
||||
cyrillic/wnss10.xml
|
||||
cyrillic/wnssbx10.xml
|
||||
cyrillic/wntt10.xml
|
||||
cyrillic/wnti10.xml
|
||||
cyrillic/wnbxti10.xml
|
||||
cyrillic/wnbxti10.ttf
|
||||
cyrillic/symbols_cyrillic.xml
|
||||
cyrillic/wnssbx10.ttf
|
||||
cyrillic/wnbx10.ttf
|
||||
cyrillic/wnr10.xml
|
||||
cyrillic/wnti10.ttf
|
||||
cyrillic/language_cyrillic.xml
|
||||
cyrillic/wnr10.ttf
|
||||
cyrillic/wnssi10.xml
|
||||
cyrillic/mappings_cyrillic.xml
|
||||
cyrillic/wnss10.ttf
|
||||
261
3rdparty/MicroTeX/res/SAMPLES.tex
vendored
Normal file
261
3rdparty/MicroTeX/res/SAMPLES.tex
vendored
Normal file
@ -0,0 +1,261 @@
|
||||
%Side sets test
|
||||
\sideset{^\backprime}{'}
|
||||
\sum_{x=1}^{\infty} x
|
||||
\sideset{a_1^2}{}\sum_{x=1}^\infty x_0
|
||||
\\
|
||||
\sideset{_\text{left bottom}'''}{_{\text{right bottom}}'''}
|
||||
\sum_{\text{quite long text}}^\infty x
|
||||
\\
|
||||
\sideset{}{'}
|
||||
\sum_{n<k,\;\text{$n$ odd}} nE_n
|
||||
\\
|
||||
\sideset{}{'}
|
||||
\sum^{n<k,\;\text{$n$ odd}} nE_n
|
||||
\\
|
||||
M_x''' M'''_x M^{'''}_x M_x{'''} M^{\prime\backprime}
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
|
||||
%Cyrillic and Greek alphabet
|
||||
\begin{array}{lr}
|
||||
\mbox{\textcolor{Blue}{Russian}}&\mbox{\textcolor{Melon}{Greek}}\\
|
||||
\mbox{привет мир}&\mbox{γειά κόσμο}\\
|
||||
\mbox{привет мир}&\mbox{γειά κόσμο}\\
|
||||
\mathbf{\mbox{привет мир}}&\mathbf{\mbox{γειά κόσμο}}\\
|
||||
\mathit{\mbox{привет мир}}&\mathit{\mbox{γειά κόσμο}}\\
|
||||
\mathsf{\mbox{привет мир}}&\mathsf{\mbox{γειά κόσμο}}\\
|
||||
\mathtt{\mbox{привет мир}}&\mathtt{\mbox{γειά κόσμο}}\\
|
||||
\mathbf{\mathit{\mbox{привет мир}}}&\mathbf{\mathit{\mbox{γειά κόσμο}}}\\
|
||||
\mathbf{\mathsf{\mbox{привет мир}}}&\mathbf{\mathsf{\mbox{γειά κόσμο}}}\\
|
||||
\mathsf{\mathit{\mbox{привет мир}}}&\mathsf{\mathit{\mbox{γειά κόσμο}}}\\
|
||||
&\\
|
||||
\mbox{\textcolor{Salmon}{Bulgarian}}&\mbox{\textcolor{Tan}{Serbian}}\\
|
||||
\mbox{здравей свят}&\mbox{Хелло уорлд}\\
|
||||
&\\
|
||||
\mbox{\textcolor{Turquoise}{Bielorussian}}&\mbox{\textcolor{LimeGreen}{Ukrainian}}\\
|
||||
\mbox{прывітаньне Свет}&\mbox{привіт світ}\\
|
||||
\end{array}
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
|
||||
%Complex formula test
|
||||
\begin{array}{l}
|
||||
\forall\varepsilon\in\mathbb{R}_+^*\ \exists\eta>0\ |x-x_0|\leq\eta\Longrightarrow|f(x)-f(x_0)|\leq\varepsilon\\
|
||||
\det
|
||||
\begin{bmatrix}
|
||||
a_{11}&a_{12}&\cdots&a_{1n}\\
|
||||
a_{21}&\ddots&&\vdots\\
|
||||
\vdots&&\ddots&\vdots\\
|
||||
a_{n1}&\cdots&\cdots&a_{nn}
|
||||
\end{bmatrix}
|
||||
\overset{\mathrm{def}}{=}\sum_{\sigma\in\mathfrak{S}_n}\varepsilon(\sigma)\prod_{k=1}^n a_{k\sigma(k)}\\
|
||||
\sideset{_\alpha^\beta}{_\gamma^\delta}{\begin{pmatrix}a&b\\c&d\end{pmatrix}}\\
|
||||
\int_0^\infty{x^{2n} e^{-a x^2}\,dx} = \frac{2n-1}{2a}
|
||||
\int_0^\infty{x^{2(n-1)} e^{-a x^2}\,dx} = \frac{(2n-1)!!}{2^{n+1}} \sqrt{\frac{\pi}{a^{2n+1}}}\\
|
||||
\int_a^b{f(x)\,dx} = (b - a) \sum\limits_{n = 1}^\infty
|
||||
{\sum\limits_{m = 1}^{2^n - 1} {\left( { - 1} \right)^{m + 1} } } 2^{ - n} f(a + m\left( {b - a} \right)2^{-n} )\\
|
||||
\int_{-\pi}^{\pi} \sin(\alpha x) \sin^n(\beta x) dx = \textstyle{\left \{
|
||||
\begin{array}{cc}
|
||||
(-1)^{(n+1)/2} (-1)^m \frac{2 \pi}{2^n} \binom{n}{m} & n \mbox{ odd},\ \alpha = \beta (2m-n) \\
|
||||
0 & \mbox{otherwise} \\ \end{array} \right .}\\
|
||||
L = \int_a^b \sqrt{ \left|\sum_{i,j=1}^ng_{ij}(\gamma(t))\left(\frac{d}{dt}x^i\circ\gamma(t)\right)
|
||||
\left(\frac{d}{dt}x^j\circ\gamma(t)\right)\right|}\,dt\\
|
||||
\begin{array}{rl}
|
||||
s &= \int_a^b\left\|\frac{d}{dt}\vec{r}\,(u(t),v(t))\right\|\,dt \\
|
||||
&= \int_a^b \sqrt{u'(t)^2\,\vec{r}_u\cdot\vec{r}_u + 2u'(t)v'(t)\, \vec{r}_u\cdot
|
||||
\vec{r}_v+ v'(t)^2\,\vec{r}_v\cdot\vec{r}_v}\,\,\, dt.
|
||||
\end{array}\\
|
||||
\end{array}
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
|
||||
\definecolor{gris}{gray}{0.9}
|
||||
\definecolor{noir}{rgb}{0,0,0}
|
||||
\definecolor{bleu}{rgb}{0,0,1}
|
||||
\fatalIfCmdConflict{false}
|
||||
\newcommand{\pa}{\left|}
|
||||
\begin{array}{c}
|
||||
\LaTeX\\
|
||||
\begin{split}
|
||||
&Тепловой\ поток\ \mathrm{Тепловой\ поток}\ \mathtt{Тепловой\ поток}\\
|
||||
&\boldsymbol{\mathrm{Тепловой\ поток}}\ \mathsf{Тепловой\ поток}\\
|
||||
|I_2| &= \pa\int_0^T\psi(t)\left\{ u(a,t)-\int_{\gamma(t)}^a \frac{d\theta}{k} (\theta,t) \int_a^\theta c(\xi)
|
||||
u_t (\xi,t)\,d\xi\right\}dt\right|\\
|
||||
&\le C_6 \Bigg|\pa f \int_\Omega \pa\widetilde{S}^{-1,0}_{a,-}
|
||||
W_2(\Omega, \Gamma_1)\right|\ \right|\left| |u|\overset{\circ}{\to} W_2^{\widetilde{A}}(\Omega\Gamma_r,T)\right|\Bigg|\\
|
||||
&\\
|
||||
&\begin{pmatrix}
|
||||
\alpha&\beta&\gamma&\delta\\
|
||||
\aleph&\beth&\gimel&\daleth\\
|
||||
\mathfrak{A}&\mathfrak{B}&\mathfrak{C}&\mathfrak{D}\\
|
||||
\boldsymbol{\mathfrak{a}}&\boldsymbol{\mathfrak{b}}&\boldsymbol{\mathfrak{c}}&\boldsymbol{\mathfrak{d}}
|
||||
\end{pmatrix}
|
||||
\quad{(a+b)}^{\frac{n}{2}}=\sqrt{\sum_{k=0}^n\tbinom{n}{k}a^kb^{n-k}}\quad
|
||||
\Biggl(\biggl(\Bigl(\bigl(()\bigr)\Bigr)\biggr)\Biggr)\\
|
||||
&\forall\varepsilon\in\mathbb{R}_+^*\ \exists\eta>0\ |x-x_0|\leq\eta\Longrightarrow|f(x)-f(x_0)|\leq\varepsilon\\
|
||||
&\det
|
||||
\begin{bmatrix}
|
||||
a_{11}&a_{12}&\cdots&a_{1n}\\
|
||||
a_{21}&\ddots&&\vdots\\
|
||||
\vdots&&\ddots&\vdots\\
|
||||
a_{n1}&\cdots&\cdots&a_{nn}
|
||||
\end{bmatrix}
|
||||
\overset{\mathrm{def}}{=}\sum_{\sigma\in\mathfrak{S}_n}\varepsilon(\sigma)\prod_{k=1}^n a_{k\sigma(k)}\\
|
||||
&\Delta f(x,y)=\frac{\partial^2f}{\partial x^2}+\frac{\partial^2f}{\partial y^2}\qquad\qquad \fcolorbox{noir}{gris}
|
||||
{n!\underset{n\rightarrow+\infty}{\sim} {\left(\frac{n}{e}\right)}^n\sqrt{2\pi n}}\\
|
||||
&\sideset{_\alpha^\beta}{_\gamma^\delta}{
|
||||
\begin{pmatrix}
|
||||
a&b\\
|
||||
c&d
|
||||
\end{pmatrix}}
|
||||
\xrightarrow[T]{n\pm i-j}\sideset{^t}{}A\xleftarrow{\overrightarrow{u}\wedge\overrightarrow{v}}
|
||||
\underleftrightarrow{\iint_{\mathds{R}^2}e^{-\left(x^2+y^2\right)}\,\mathrm{d}x\mathrm{d}y}
|
||||
\end{split}\\
|
||||
\rotatebox{30}{\sum_{n=1}^{+\infty}}\quad\mbox{Mirror rorriM}\reflectbox{\mbox{Mirror rorriM}}
|
||||
\end{array}
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
|
||||
\begin{array}{|c|l|||r|c|}
|
||||
\hline
|
||||
\text{Matrix}&\multicolumn{2}{|c|}{\text{Multicolumns}}&\text{Font sizes commands}\cr
|
||||
\hline
|
||||
\begin{pmatrix}
|
||||
\alpha_{11}&\cdots&\alpha_{1n}\cr
|
||||
\hdotsfor{3}\cr
|
||||
\alpha_{n1}&\cdots&\alpha_{nn}
|
||||
\end{pmatrix}
|
||||
&\Large \text{Large Right}&\small \text{small Left}&\tiny \text{tiny Tiny}\cr
|
||||
\hline
|
||||
\multicolumn{4}{|c|}{\Huge \text{Huge Multicolumns}}\cr
|
||||
\hline
|
||||
\end{array}
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
|
||||
\cornersize{0.2}
|
||||
\begin{array}{cc}
|
||||
\fbox{\text{A framed box with \textdbend}}&\shadowbox{\text{A shadowed box}}\cr
|
||||
\doublebox{\text{A double framed box}}&\ovalbox{\text{An oval framed box}}\cr
|
||||
\end{array}
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
|
||||
%ASCII character
|
||||
\text{!"#'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]
|
||||
^_`abcdefghijklmnopqrstuvwxyz{|}~
|
||||
|
||||
¡¢£¤¥¦§¨©ª«¬
|
||||
®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ}
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
|
||||
%Table test
|
||||
\newcolumntype{s}{>{\color{#1234B6}}c}
|
||||
\begin{array}{|c|c|c|s|}
|
||||
\hline
|
||||
\rowcolor{Tan}\multicolumn{4}{|c|}{\textcolor{white}{\bold{\text{Table Head}}}}\\
|
||||
\hline
|
||||
\text{Matrix}&\multicolumn{2}{|c|}{\text{Multicolumns}}&\text{Font size commands}\\
|
||||
\hline
|
||||
\begin{pmatrix}
|
||||
\alpha_{11}&\cdots&\alpha_{1n}\\
|
||||
\hdotsfor{3}\\
|
||||
\alpha_{n1}&\cdots&\alpha_{nn}
|
||||
\end{pmatrix}
|
||||
&\large \text{Left}&\cellcolor{#00bde5}\small \textcolor{white}{\text{\bold{Right}}}
|
||||
&\small \text{small Small}\\
|
||||
\hline
|
||||
\multicolumn{4}{|c|}{\text{Table Foot}}\\
|
||||
\hline
|
||||
\end{array}
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
|
||||
\rlap{\overbrace{\phantom{1 + a + b + \cdots + z}}^{\text{total + 1}}}
|
||||
1 + \underbrace{a + b + \cdots + z}_{\text{total}}
|
||||
\\
|
||||
\frac{a\cancel{b}}{\cancel{b}} = a;
|
||||
\frac{a\bcancel{b}}{\bcancel{b}} = a;
|
||||
\frac{a\xcancel{b}}{\xcancel{b}} = a;
|
||||
\\
|
||||
\text{A long division: }\longdiv{12345}{13}
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
|
||||
\left\{
|
||||
\begin{array}{l}
|
||||
2a < -1,\\
|
||||
a + 8 \ge 5,
|
||||
\end{array}
|
||||
\right.
|
||||
\\
|
||||
P_{r-j}=\begin{cases}
|
||||
0& \text{if $r-j$ is odd},\\
|
||||
r!\,(-1)^{(r-j)/2}& \text{if $r-j$ is even}.
|
||||
\end{cases}\text{Cases}
|
||||
\\
|
||||
P_{r-j}=\left\{\begin{array}{@{}ll@{\,}}
|
||||
0& \text{if $r-j$ is odd},\\
|
||||
r!\,(-1)^{(r-j)/2}& \text{if $r-j$ is even}.
|
||||
\end{array}\right.\text{Cases}
|
||||
\\
|
||||
P_{r-j}=\begin{cases}
|
||||
4-x\geq 0 \\
|
||||
3-x\geq 1
|
||||
\end{cases}\text{Cases}
|
||||
\\
|
||||
\left\{\begin{array}{@{}ll}
|
||||
1 & 2\\
|
||||
3 & 4
|
||||
\end{array}\right.\text{Equation}
|
||||
\\
|
||||
\left\{\begin{array}{l@{}l}
|
||||
1 & 2\\
|
||||
3 & 4
|
||||
\end{array}\right.\text{Equation}
|
||||
\\
|
||||
\left\{\begin{array}{ll@{}}
|
||||
1 & 2\\
|
||||
3 & 4
|
||||
\end{array}\right.\text{Equation}
|
||||
\\
|
||||
\begin{split}
|
||||
H_c&=\frac{1}{2n} \sum^n_{l=0}(-1)^{l}(n-{l})^{p-2}
|
||||
\sum_{l _1+\dots+ l _p=l}\prod^p_{i=1} \binom{n_i}{l _i}\\
|
||||
&\quad\cdot[(n-l )-(n_i-l _i)]^{n_i-l _i}\cdot
|
||||
\Bigl[(n-l )^2-\sum^p_{j=1}(n_i-l _i)^2\Bigr].
|
||||
\end{split}
|
||||
\\
|
||||
\begin{align}
|
||||
A_1&=N_0(\lambda;\Omega’)-\phi(\lambda;\Omega’),\\
|
||||
A_2&=\phi(\lambda;\Omega’)-\phi(\lambda;\Omega),\\
|
||||
\intertext{and}
|
||||
A_3&=\mathcal{N}(\lambda;\omega).
|
||||
\end{align}
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
|
||||
\frac{\sum_{n > 0} z^n}
|
||||
{\prod_{1\leq k\leq n} (1-q^k)}
|
||||
\\
|
||||
\frac{{\displaystyle\sum_{n > 0} z^n}}
|
||||
{{\displaystyle\prod_{1\leq k\leq n} (1-q^k)}}
|
||||
\\
|
||||
\frac{{\displaystyle\sum\nolimits_{n> 0} z^n}}
|
||||
{{\displaystyle\prod\nolimits_{1\leq k\leq n} (1-q^k)}}
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
|
||||
\cfrac{1}{\sqrt{2}+
|
||||
\cfrac{1}{\sqrt{2}+
|
||||
\cfrac{1}{\sqrt{2}+\dotsb
|
||||
}}}
|
||||
\\
|
||||
\biggl[
|
||||
\sum_i a_i\biggl\lvert\sum_j x_{ij}
|
||||
\biggr\rvert^p\biggr]^{1/p}
|
||||
\\
|
||||
\biggl[
|
||||
\sum_i a_i\Bigl\lvert\sum_j x_{ij}
|
||||
\Bigr\rvert^p\biggr]^{1/p}
|
||||
674
3rdparty/MicroTeX/res/cyrillic/LICENSE
vendored
Normal file
674
3rdparty/MicroTeX/res/cyrillic/LICENSE
vendored
Normal file
@ -0,0 +1,674 @@
|
||||
GNU GENERAL PUBLIC LICENSE
|
||||
Version 3, 29 June 2007
|
||||
|
||||
Copyright (C) 2007 Free Software Foundation, Inc. <https://fsf.org/>
|
||||
Everyone is permitted to copy and distribute verbatim copies
|
||||
of this license document, but changing it is not allowed.
|
||||
|
||||
Preamble
|
||||
|
||||
The GNU General Public License is a free, copyleft license for
|
||||
software and other kinds of works.
|
||||
|
||||
The licenses for most software and other practical works are designed
|
||||
to take away your freedom to share and change the works. By contrast,
|
||||
the GNU General Public License is intended to guarantee your freedom to
|
||||
share and change all versions of a program--to make sure it remains free
|
||||
software for all its users. We, the Free Software Foundation, use the
|
||||
GNU General Public License for most of our software; it applies also to
|
||||
any other work released this way by its authors. You can apply it to
|
||||
your programs, too.
|
||||
|
||||
When we speak of free software, we are referring to freedom, not
|
||||
price. Our General Public Licenses are designed to make sure that you
|
||||
have the freedom to distribute copies of free software (and charge for
|
||||
them if you wish), that you receive source code or can get it if you
|
||||
want it, that you can change the software or use pieces of it in new
|
||||
free programs, and that you know you can do these things.
|
||||
|
||||
To protect your rights, we need to prevent others from denying you
|
||||
these rights or asking you to surrender the rights. Therefore, you have
|
||||
certain responsibilities if you distribute copies of the software, or if
|
||||
you modify it: responsibilities to respect the freedom of others.
|
||||
|
||||
For example, if you distribute copies of such a program, whether
|
||||
gratis or for a fee, you must pass on to the recipients the same
|
||||
freedoms that you received. You must make sure that they, too, receive
|
||||
or can get the source code. And you must show them these terms so they
|
||||
know their rights.
|
||||
|
||||
Developers that use the GNU GPL protect your rights with two steps:
|
||||
(1) assert copyright on the software, and (2) offer you this License
|
||||
giving you legal permission to copy, distribute and/or modify it.
|
||||
|
||||
For the developers' and authors' protection, the GPL clearly explains
|
||||
that there is no warranty for this free software. For both users' and
|
||||
authors' sake, the GPL requires that modified versions be marked as
|
||||
changed, so that their problems will not be attributed erroneously to
|
||||
authors of previous versions.
|
||||
|
||||
Some devices are designed to deny users access to install or run
|
||||
modified versions of the software inside them, although the manufacturer
|
||||
can do so. This is fundamentally incompatible with the aim of
|
||||
protecting users' freedom to change the software. The systematic
|
||||
pattern of such abuse occurs in the area of products for individuals to
|
||||
use, which is precisely where it is most unacceptable. Therefore, we
|
||||
have designed this version of the GPL to prohibit the practice for those
|
||||
products. If such problems arise substantially in other domains, we
|
||||
stand ready to extend this provision to those domains in future versions
|
||||
of the GPL, as needed to protect the freedom of users.
|
||||
|
||||
Finally, every program is threatened constantly by software patents.
|
||||
States should not allow patents to restrict development and use of
|
||||
software on general-purpose computers, but in those that do, we wish to
|
||||
avoid the special danger that patents applied to a free program could
|
||||
make it effectively proprietary. To prevent this, the GPL assures that
|
||||
patents cannot be used to render the program non-free.
|
||||
|
||||
The precise terms and conditions for copying, distribution and
|
||||
modification follow.
|
||||
|
||||
TERMS AND CONDITIONS
|
||||
|
||||
0. Definitions.
|
||||
|
||||
"This License" refers to version 3 of the GNU General Public License.
|
||||
|
||||
"Copyright" also means copyright-like laws that apply to other kinds of
|
||||
works, such as semiconductor masks.
|
||||
|
||||
"The Program" refers to any copyrightable work licensed under this
|
||||
License. Each licensee is addressed as "you". "Licensees" and
|
||||
"recipients" may be individuals or organizations.
|
||||
|
||||
To "modify" a work means to copy from or adapt all or part of the work
|
||||
in a fashion requiring copyright permission, other than the making of an
|
||||
exact copy. The resulting work is called a "modified version" of the
|
||||
earlier work or a work "based on" the earlier work.
|
||||
|
||||
A "covered work" means either the unmodified Program or a work based
|
||||
on the Program.
|
||||
|
||||
To "propagate" a work means to do anything with it that, without
|
||||
permission, would make you directly or secondarily liable for
|
||||
infringement under applicable copyright law, except executing it on a
|
||||
computer or modifying a private copy. Propagation includes copying,
|
||||
distribution (with or without modification), making available to the
|
||||
public, and in some countries other activities as well.
|
||||
|
||||
To "convey" a work means any kind of propagation that enables other
|
||||
parties to make or receive copies. Mere interaction with a user through
|
||||
a computer network, with no transfer of a copy, is not conveying.
|
||||
|
||||
An interactive user interface displays "Appropriate Legal Notices"
|
||||
to the extent that it includes a convenient and prominently visible
|
||||
feature that (1) displays an appropriate copyright notice, and (2)
|
||||
tells the user that there is no warranty for the work (except to the
|
||||
extent that warranties are provided), that licensees may convey the
|
||||
work under this License, and how to view a copy of this License. If
|
||||
the interface presents a list of user commands or options, such as a
|
||||
menu, a prominent item in the list meets this criterion.
|
||||
|
||||
1. Source Code.
|
||||
|
||||
The "source code" for a work means the preferred form of the work
|
||||
for making modifications to it. "Object code" means any non-source
|
||||
form of a work.
|
||||
|
||||
A "Standard Interface" means an interface that either is an official
|
||||
standard defined by a recognized standards body, or, in the case of
|
||||
interfaces specified for a particular programming language, one that
|
||||
is widely used among developers working in that language.
|
||||
|
||||
The "System Libraries" of an executable work include anything, other
|
||||
than the work as a whole, that (a) is included in the normal form of
|
||||
packaging a Major Component, but which is not part of that Major
|
||||
Component, and (b) serves only to enable use of the work with that
|
||||
Major Component, or to implement a Standard Interface for which an
|
||||
implementation is available to the public in source code form. A
|
||||
"Major Component", in this context, means a major essential component
|
||||
(kernel, window system, and so on) of the specific operating system
|
||||
(if any) on which the executable work runs, or a compiler used to
|
||||
produce the work, or an object code interpreter used to run it.
|
||||
|
||||
The "Corresponding Source" for a work in object code form means all
|
||||
the source code needed to generate, install, and (for an executable
|
||||
work) run the object code and to modify the work, including scripts to
|
||||
control those activities. However, it does not include the work's
|
||||
System Libraries, or general-purpose tools or generally available free
|
||||
programs which are used unmodified in performing those activities but
|
||||
which are not part of the work. For example, Corresponding Source
|
||||
includes interface definition files associated with source files for
|
||||
the work, and the source code for shared libraries and dynamically
|
||||
linked subprograms that the work is specifically designed to require,
|
||||
such as by intimate data communication or control flow between those
|
||||
subprograms and other parts of the work.
|
||||
|
||||
The Corresponding Source need not include anything that users
|
||||
can regenerate automatically from other parts of the Corresponding
|
||||
Source.
|
||||
|
||||
The Corresponding Source for a work in source code form is that
|
||||
same work.
|
||||
|
||||
2. Basic Permissions.
|
||||
|
||||
All rights granted under this License are granted for the term of
|
||||
copyright on the Program, and are irrevocable provided the stated
|
||||
conditions are met. This License explicitly affirms your unlimited
|
||||
permission to run the unmodified Program. The output from running a
|
||||
covered work is covered by this License only if the output, given its
|
||||
content, constitutes a covered work. This License acknowledges your
|
||||
rights of fair use or other equivalent, as provided by copyright law.
|
||||
|
||||
You may make, run and propagate covered works that you do not
|
||||
convey, without conditions so long as your license otherwise remains
|
||||
in force. You may convey covered works to others for the sole purpose
|
||||
of having them make modifications exclusively for you, or provide you
|
||||
with facilities for running those works, provided that you comply with
|
||||
the terms of this License in conveying all material for which you do
|
||||
not control copyright. Those thus making or running the covered works
|
||||
for you must do so exclusively on your behalf, under your direction
|
||||
and control, on terms that prohibit them from making any copies of
|
||||
your copyrighted material outside their relationship with you.
|
||||
|
||||
Conveying under any other circumstances is permitted solely under
|
||||
the conditions stated below. Sublicensing is not allowed; section 10
|
||||
makes it unnecessary.
|
||||
|
||||
3. Protecting Users' Legal Rights From Anti-Circumvention Law.
|
||||
|
||||
No covered work shall be deemed part of an effective technological
|
||||
measure under any applicable law fulfilling obligations under article
|
||||
11 of the WIPO copyright treaty adopted on 20 December 1996, or
|
||||
similar laws prohibiting or restricting circumvention of such
|
||||
measures.
|
||||
|
||||
When you convey a covered work, you waive any legal power to forbid
|
||||
circumvention of technological measures to the extent such circumvention
|
||||
is effected by exercising rights under this License with respect to
|
||||
the covered work, and you disclaim any intention to limit operation or
|
||||
modification of the work as a means of enforcing, against the work's
|
||||
users, your or third parties' legal rights to forbid circumvention of
|
||||
technological measures.
|
||||
|
||||
4. Conveying Verbatim Copies.
|
||||
|
||||
You may convey verbatim copies of the Program's source code as you
|
||||
receive it, in any medium, provided that you conspicuously and
|
||||
appropriately publish on each copy an appropriate copyright notice;
|
||||
keep intact all notices stating that this License and any
|
||||
non-permissive terms added in accord with section 7 apply to the code;
|
||||
keep intact all notices of the absence of any warranty; and give all
|
||||
recipients a copy of this License along with the Program.
|
||||
|
||||
You may charge any price or no price for each copy that you convey,
|
||||
and you may offer support or warranty protection for a fee.
|
||||
|
||||
5. Conveying Modified Source Versions.
|
||||
|
||||
You may convey a work based on the Program, or the modifications to
|
||||
produce it from the Program, in the form of source code under the
|
||||
terms of section 4, provided that you also meet all of these conditions:
|
||||
|
||||
a) The work must carry prominent notices stating that you modified
|
||||
it, and giving a relevant date.
|
||||
|
||||
b) The work must carry prominent notices stating that it is
|
||||
released under this License and any conditions added under section
|
||||
7. This requirement modifies the requirement in section 4 to
|
||||
"keep intact all notices".
|
||||
|
||||
c) You must license the entire work, as a whole, under this
|
||||
License to anyone who comes into possession of a copy. This
|
||||
License will therefore apply, along with any applicable section 7
|
||||
additional terms, to the whole of the work, and all its parts,
|
||||
regardless of how they are packaged. This License gives no
|
||||
permission to license the work in any other way, but it does not
|
||||
invalidate such permission if you have separately received it.
|
||||
|
||||
d) If the work has interactive user interfaces, each must display
|
||||
Appropriate Legal Notices; however, if the Program has interactive
|
||||
interfaces that do not display Appropriate Legal Notices, your
|
||||
work need not make them do so.
|
||||
|
||||
A compilation of a covered work with other separate and independent
|
||||
works, which are not by their nature extensions of the covered work,
|
||||
and which are not combined with it such as to form a larger program,
|
||||
in or on a volume of a storage or distribution medium, is called an
|
||||
"aggregate" if the compilation and its resulting copyright are not
|
||||
used to limit the access or legal rights of the compilation's users
|
||||
beyond what the individual works permit. Inclusion of a covered work
|
||||
in an aggregate does not cause this License to apply to the other
|
||||
parts of the aggregate.
|
||||
|
||||
6. Conveying Non-Source Forms.
|
||||
|
||||
You may convey a covered work in object code form under the terms
|
||||
of sections 4 and 5, provided that you also convey the
|
||||
machine-readable Corresponding Source under the terms of this License,
|
||||
in one of these ways:
|
||||
|
||||
a) Convey the object code in, or embodied in, a physical product
|
||||
(including a physical distribution medium), accompanied by the
|
||||
Corresponding Source fixed on a durable physical medium
|
||||
customarily used for software interchange.
|
||||
|
||||
b) Convey the object code in, or embodied in, a physical product
|
||||
(including a physical distribution medium), accompanied by a
|
||||
written offer, valid for at least three years and valid for as
|
||||
long as you offer spare parts or customer support for that product
|
||||
model, to give anyone who possesses the object code either (1) a
|
||||
copy of the Corresponding Source for all the software in the
|
||||
product that is covered by this License, on a durable physical
|
||||
medium customarily used for software interchange, for a price no
|
||||
more than your reasonable cost of physically performing this
|
||||
conveying of source, or (2) access to copy the
|
||||
Corresponding Source from a network server at no charge.
|
||||
|
||||
c) Convey individual copies of the object code with a copy of the
|
||||
written offer to provide the Corresponding Source. This
|
||||
alternative is allowed only occasionally and noncommercially, and
|
||||
only if you received the object code with such an offer, in accord
|
||||
with subsection 6b.
|
||||
|
||||
d) Convey the object code by offering access from a designated
|
||||
place (gratis or for a charge), and offer equivalent access to the
|
||||
Corresponding Source in the same way through the same place at no
|
||||
further charge. You need not require recipients to copy the
|
||||
Corresponding Source along with the object code. If the place to
|
||||
copy the object code is a network server, the Corresponding Source
|
||||
may be on a different server (operated by you or a third party)
|
||||
that supports equivalent copying facilities, provided you maintain
|
||||
clear directions next to the object code saying where to find the
|
||||
Corresponding Source. Regardless of what server hosts the
|
||||
Corresponding Source, you remain obligated to ensure that it is
|
||||
available for as long as needed to satisfy these requirements.
|
||||
|
||||
e) Convey the object code using peer-to-peer transmission, provided
|
||||
you inform other peers where the object code and Corresponding
|
||||
Source of the work are being offered to the general public at no
|
||||
charge under subsection 6d.
|
||||
|
||||
A separable portion of the object code, whose source code is excluded
|
||||
from the Corresponding Source as a System Library, need not be
|
||||
included in conveying the object code work.
|
||||
|
||||
A "User Product" is either (1) a "consumer product", which means any
|
||||
tangible personal property which is normally used for personal, family,
|
||||
or household purposes, or (2) anything designed or sold for incorporation
|
||||
into a dwelling. In determining whether a product is a consumer product,
|
||||
doubtful cases shall be resolved in favor of coverage. For a particular
|
||||
product received by a particular user, "normally used" refers to a
|
||||
typical or common use of that class of product, regardless of the status
|
||||
of the particular user or of the way in which the particular user
|
||||
actually uses, or expects or is expected to use, the product. A product
|
||||
is a consumer product regardless of whether the product has substantial
|
||||
commercial, industrial or non-consumer uses, unless such uses represent
|
||||
the only significant mode of use of the product.
|
||||
|
||||
"Installation Information" for a User Product means any methods,
|
||||
procedures, authorization keys, or other information required to install
|
||||
and execute modified versions of a covered work in that User Product from
|
||||
a modified version of its Corresponding Source. The information must
|
||||
suffice to ensure that the continued functioning of the modified object
|
||||
code is in no case prevented or interfered with solely because
|
||||
modification has been made.
|
||||
|
||||
If you convey an object code work under this section in, or with, or
|
||||
specifically for use in, a User Product, and the conveying occurs as
|
||||
part of a transaction in which the right of possession and use of the
|
||||
User Product is transferred to the recipient in perpetuity or for a
|
||||
fixed term (regardless of how the transaction is characterized), the
|
||||
Corresponding Source conveyed under this section must be accompanied
|
||||
by the Installation Information. But this requirement does not apply
|
||||
if neither you nor any third party retains the ability to install
|
||||
modified object code on the User Product (for example, the work has
|
||||
been installed in ROM).
|
||||
|
||||
The requirement to provide Installation Information does not include a
|
||||
requirement to continue to provide support service, warranty, or updates
|
||||
for a work that has been modified or installed by the recipient, or for
|
||||
the User Product in which it has been modified or installed. Access to a
|
||||
network may be denied when the modification itself materially and
|
||||
adversely affects the operation of the network or violates the rules and
|
||||
protocols for communication across the network.
|
||||
|
||||
Corresponding Source conveyed, and Installation Information provided,
|
||||
in accord with this section must be in a format that is publicly
|
||||
documented (and with an implementation available to the public in
|
||||
source code form), and must require no special password or key for
|
||||
unpacking, reading or copying.
|
||||
|
||||
7. Additional Terms.
|
||||
|
||||
"Additional permissions" are terms that supplement the terms of this
|
||||
License by making exceptions from one or more of its conditions.
|
||||
Additional permissions that are applicable to the entire Program shall
|
||||
be treated as though they were included in this License, to the extent
|
||||
that they are valid under applicable law. If additional permissions
|
||||
apply only to part of the Program, that part may be used separately
|
||||
under those permissions, but the entire Program remains governed by
|
||||
this License without regard to the additional permissions.
|
||||
|
||||
When you convey a copy of a covered work, you may at your option
|
||||
remove any additional permissions from that copy, or from any part of
|
||||
it. (Additional permissions may be written to require their own
|
||||
removal in certain cases when you modify the work.) You may place
|
||||
additional permissions on material, added by you to a covered work,
|
||||
for which you have or can give appropriate copyright permission.
|
||||
|
||||
Notwithstanding any other provision of this License, for material you
|
||||
add to a covered work, you may (if authorized by the copyright holders of
|
||||
that material) supplement the terms of this License with terms:
|
||||
|
||||
a) Disclaiming warranty or limiting liability differently from the
|
||||
terms of sections 15 and 16 of this License; or
|
||||
|
||||
b) Requiring preservation of specified reasonable legal notices or
|
||||
author attributions in that material or in the Appropriate Legal
|
||||
Notices displayed by works containing it; or
|
||||
|
||||
c) Prohibiting misrepresentation of the origin of that material, or
|
||||
requiring that modified versions of such material be marked in
|
||||
reasonable ways as different from the original version; or
|
||||
|
||||
d) Limiting the use for publicity purposes of names of licensors or
|
||||
authors of the material; or
|
||||
|
||||
e) Declining to grant rights under trademark law for use of some
|
||||
trade names, trademarks, or service marks; or
|
||||
|
||||
f) Requiring indemnification of licensors and authors of that
|
||||
material by anyone who conveys the material (or modified versions of
|
||||
it) with contractual assumptions of liability to the recipient, for
|
||||
any liability that these contractual assumptions directly impose on
|
||||
those licensors and authors.
|
||||
|
||||
All other non-permissive additional terms are considered "further
|
||||
restrictions" within the meaning of section 10. If the Program as you
|
||||
received it, or any part of it, contains a notice stating that it is
|
||||
governed by this License along with a term that is a further
|
||||
restriction, you may remove that term. If a license document contains
|
||||
a further restriction but permits relicensing or conveying under this
|
||||
License, you may add to a covered work material governed by the terms
|
||||
of that license document, provided that the further restriction does
|
||||
not survive such relicensing or conveying.
|
||||
|
||||
If you add terms to a covered work in accord with this section, you
|
||||
must place, in the relevant source files, a statement of the
|
||||
additional terms that apply to those files, or a notice indicating
|
||||
where to find the applicable terms.
|
||||
|
||||
Additional terms, permissive or non-permissive, may be stated in the
|
||||
form of a separately written license, or stated as exceptions;
|
||||
the above requirements apply either way.
|
||||
|
||||
8. Termination.
|
||||
|
||||
You may not propagate or modify a covered work except as expressly
|
||||
provided under this License. Any attempt otherwise to propagate or
|
||||
modify it is void, and will automatically terminate your rights under
|
||||
this License (including any patent licenses granted under the third
|
||||
paragraph of section 11).
|
||||
|
||||
However, if you cease all violation of this License, then your
|
||||
license from a particular copyright holder is reinstated (a)
|
||||
provisionally, unless and until the copyright holder explicitly and
|
||||
finally terminates your license, and (b) permanently, if the copyright
|
||||
holder fails to notify you of the violation by some reasonable means
|
||||
prior to 60 days after the cessation.
|
||||
|
||||
Moreover, your license from a particular copyright holder is
|
||||
reinstated permanently if the copyright holder notifies you of the
|
||||
violation by some reasonable means, this is the first time you have
|
||||
received notice of violation of this License (for any work) from that
|
||||
copyright holder, and you cure the violation prior to 30 days after
|
||||
your receipt of the notice.
|
||||
|
||||
Termination of your rights under this section does not terminate the
|
||||
licenses of parties who have received copies or rights from you under
|
||||
this License. If your rights have been terminated and not permanently
|
||||
reinstated, you do not qualify to receive new licenses for the same
|
||||
material under section 10.
|
||||
|
||||
9. Acceptance Not Required for Having Copies.
|
||||
|
||||
You are not required to accept this License in order to receive or
|
||||
run a copy of the Program. Ancillary propagation of a covered work
|
||||
occurring solely as a consequence of using peer-to-peer transmission
|
||||
to receive a copy likewise does not require acceptance. However,
|
||||
nothing other than this License grants you permission to propagate or
|
||||
modify any covered work. These actions infringe copyright if you do
|
||||
not accept this License. Therefore, by modifying or propagating a
|
||||
covered work, you indicate your acceptance of this License to do so.
|
||||
|
||||
10. Automatic Licensing of Downstream Recipients.
|
||||
|
||||
Each time you convey a covered work, the recipient automatically
|
||||
receives a license from the original licensors, to run, modify and
|
||||
propagate that work, subject to this License. You are not responsible
|
||||
for enforcing compliance by third parties with this License.
|
||||
|
||||
An "entity transaction" is a transaction transferring control of an
|
||||
organization, or substantially all assets of one, or subdividing an
|
||||
organization, or merging organizations. If propagation of a covered
|
||||
work results from an entity transaction, each party to that
|
||||
transaction who receives a copy of the work also receives whatever
|
||||
licenses to the work the party's predecessor in interest had or could
|
||||
give under the previous paragraph, plus a right to possession of the
|
||||
Corresponding Source of the work from the predecessor in interest, if
|
||||
the predecessor has it or can get it with reasonable efforts.
|
||||
|
||||
You may not impose any further restrictions on the exercise of the
|
||||
rights granted or affirmed under this License. For example, you may
|
||||
not impose a license fee, royalty, or other charge for exercise of
|
||||
rights granted under this License, and you may not initiate litigation
|
||||
(including a cross-claim or counterclaim in a lawsuit) alleging that
|
||||
any patent claim is infringed by making, using, selling, offering for
|
||||
sale, or importing the Program or any portion of it.
|
||||
|
||||
11. Patents.
|
||||
|
||||
A "contributor" is a copyright holder who authorizes use under this
|
||||
License of the Program or a work on which the Program is based. The
|
||||
work thus licensed is called the contributor's "contributor version".
|
||||
|
||||
A contributor's "essential patent claims" are all patent claims
|
||||
owned or controlled by the contributor, whether already acquired or
|
||||
hereafter acquired, that would be infringed by some manner, permitted
|
||||
by this License, of making, using, or selling its contributor version,
|
||||
but do not include claims that would be infringed only as a
|
||||
consequence of further modification of the contributor version. For
|
||||
purposes of this definition, "control" includes the right to grant
|
||||
patent sublicenses in a manner consistent with the requirements of
|
||||
this License.
|
||||
|
||||
Each contributor grants you a non-exclusive, worldwide, royalty-free
|
||||
patent license under the contributor's essential patent claims, to
|
||||
make, use, sell, offer for sale, import and otherwise run, modify and
|
||||
propagate the contents of its contributor version.
|
||||
|
||||
In the following three paragraphs, a "patent license" is any express
|
||||
agreement or commitment, however denominated, not to enforce a patent
|
||||
(such as an express permission to practice a patent or covenant not to
|
||||
sue for patent infringement). To "grant" such a patent license to a
|
||||
party means to make such an agreement or commitment not to enforce a
|
||||
patent against the party.
|
||||
|
||||
If you convey a covered work, knowingly relying on a patent license,
|
||||
and the Corresponding Source of the work is not available for anyone
|
||||
to copy, free of charge and under the terms of this License, through a
|
||||
publicly available network server or other readily accessible means,
|
||||
then you must either (1) cause the Corresponding Source to be so
|
||||
available, or (2) arrange to deprive yourself of the benefit of the
|
||||
patent license for this particular work, or (3) arrange, in a manner
|
||||
consistent with the requirements of this License, to extend the patent
|
||||
license to downstream recipients. "Knowingly relying" means you have
|
||||
actual knowledge that, but for the patent license, your conveying the
|
||||
covered work in a country, or your recipient's use of the covered work
|
||||
in a country, would infringe one or more identifiable patents in that
|
||||
country that you have reason to believe are valid.
|
||||
|
||||
If, pursuant to or in connection with a single transaction or
|
||||
arrangement, you convey, or propagate by procuring conveyance of, a
|
||||
covered work, and grant a patent license to some of the parties
|
||||
receiving the covered work authorizing them to use, propagate, modify
|
||||
or convey a specific copy of the covered work, then the patent license
|
||||
you grant is automatically extended to all recipients of the covered
|
||||
work and works based on it.
|
||||
|
||||
A patent license is "discriminatory" if it does not include within
|
||||
the scope of its coverage, prohibits the exercise of, or is
|
||||
conditioned on the non-exercise of one or more of the rights that are
|
||||
specifically granted under this License. You may not convey a covered
|
||||
work if you are a party to an arrangement with a third party that is
|
||||
in the business of distributing software, under which you make payment
|
||||
to the third party based on the extent of your activity of conveying
|
||||
the work, and under which the third party grants, to any of the
|
||||
parties who would receive the covered work from you, a discriminatory
|
||||
patent license (a) in connection with copies of the covered work
|
||||
conveyed by you (or copies made from those copies), or (b) primarily
|
||||
for and in connection with specific products or compilations that
|
||||
contain the covered work, unless you entered into that arrangement,
|
||||
or that patent license was granted, prior to 28 March 2007.
|
||||
|
||||
Nothing in this License shall be construed as excluding or limiting
|
||||
any implied license or other defenses to infringement that may
|
||||
otherwise be available to you under applicable patent law.
|
||||
|
||||
12. No Surrender of Others' Freedom.
|
||||
|
||||
If conditions are imposed on you (whether by court order, agreement or
|
||||
otherwise) that contradict the conditions of this License, they do not
|
||||
excuse you from the conditions of this License. If you cannot convey a
|
||||
covered work so as to satisfy simultaneously your obligations under this
|
||||
License and any other pertinent obligations, then as a consequence you may
|
||||
not convey it at all. For example, if you agree to terms that obligate you
|
||||
to collect a royalty for further conveying from those to whom you convey
|
||||
the Program, the only way you could satisfy both those terms and this
|
||||
License would be to refrain entirely from conveying the Program.
|
||||
|
||||
13. Use with the GNU Affero General Public License.
|
||||
|
||||
Notwithstanding any other provision of this License, you have
|
||||
permission to link or combine any covered work with a work licensed
|
||||
under version 3 of the GNU Affero General Public License into a single
|
||||
combined work, and to convey the resulting work. The terms of this
|
||||
License will continue to apply to the part which is the covered work,
|
||||
but the special requirements of the GNU Affero General Public License,
|
||||
section 13, concerning interaction through a network will apply to the
|
||||
combination as such.
|
||||
|
||||
14. Revised Versions of this License.
|
||||
|
||||
The Free Software Foundation may publish revised and/or new versions of
|
||||
the GNU General Public License from time to time. Such new versions will
|
||||
be similar in spirit to the present version, but may differ in detail to
|
||||
address new problems or concerns.
|
||||
|
||||
Each version is given a distinguishing version number. If the
|
||||
Program specifies that a certain numbered version of the GNU General
|
||||
Public License "or any later version" applies to it, you have the
|
||||
option of following the terms and conditions either of that numbered
|
||||
version or of any later version published by the Free Software
|
||||
Foundation. If the Program does not specify a version number of the
|
||||
GNU General Public License, you may choose any version ever published
|
||||
by the Free Software Foundation.
|
||||
|
||||
If the Program specifies that a proxy can decide which future
|
||||
versions of the GNU General Public License can be used, that proxy's
|
||||
public statement of acceptance of a version permanently authorizes you
|
||||
to choose that version for the Program.
|
||||
|
||||
Later license versions may give you additional or different
|
||||
permissions. However, no additional obligations are imposed on any
|
||||
author or copyright holder as a result of your choosing to follow a
|
||||
later version.
|
||||
|
||||
15. Disclaimer of Warranty.
|
||||
|
||||
THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
|
||||
APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
|
||||
HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
|
||||
OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
|
||||
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
||||
PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
|
||||
IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
|
||||
ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
|
||||
|
||||
16. Limitation of Liability.
|
||||
|
||||
IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
|
||||
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
|
||||
THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
|
||||
GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
|
||||
USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
|
||||
DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
|
||||
PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
|
||||
EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
|
||||
SUCH DAMAGES.
|
||||
|
||||
17. Interpretation of Sections 15 and 16.
|
||||
|
||||
If the disclaimer of warranty and limitation of liability provided
|
||||
above cannot be given local legal effect according to their terms,
|
||||
reviewing courts shall apply local law that most closely approximates
|
||||
an absolute waiver of all civil liability in connection with the
|
||||
Program, unless a warranty or assumption of liability accompanies a
|
||||
copy of the Program in return for a fee.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
How to Apply These Terms to Your New Programs
|
||||
|
||||
If you develop a new program, and you want it to be of the greatest
|
||||
possible use to the public, the best way to achieve this is to make it
|
||||
free software which everyone can redistribute and change under these terms.
|
||||
|
||||
To do so, attach the following notices to the program. It is safest
|
||||
to attach them to the start of each source file to most effectively
|
||||
state the exclusion of warranty; and each file should have at least
|
||||
the "copyright" line and a pointer to where the full notice is found.
|
||||
|
||||
<one line to give the program's name and a brief idea of what it does.>
|
||||
Copyright (C) <year> <name of author>
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
|
||||
Also add information on how to contact you by electronic and paper mail.
|
||||
|
||||
If the program does terminal interaction, make it output a short
|
||||
notice like this when it starts in an interactive mode:
|
||||
|
||||
<program> Copyright (C) <year> <name of author>
|
||||
This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
|
||||
This is free software, and you are welcome to redistribute it
|
||||
under certain conditions; type `show c' for details.
|
||||
|
||||
The hypothetical commands `show w' and `show c' should show the appropriate
|
||||
parts of the General Public License. Of course, your program's commands
|
||||
might be different; for a GUI interface, you would use an "about box".
|
||||
|
||||
You should also get your employer (if you work as a programmer) or school,
|
||||
if any, to sign a "copyright disclaimer" for the program, if necessary.
|
||||
For more information on this, and how to apply and follow the GNU GPL, see
|
||||
<https://www.gnu.org/licenses/>.
|
||||
|
||||
The GNU General Public License does not permit incorporating your program
|
||||
into proprietary programs. If your program is a subroutine library, you
|
||||
may consider it more useful to permit linking proprietary applications with
|
||||
the library. If this is what you want to do, use the GNU Lesser General
|
||||
Public License instead of this License. But first, please read
|
||||
<https://www.gnu.org/licenses/why-not-lgpl.html>.
|
||||
100
3rdparty/MicroTeX/res/cyrillic/cyrillic.map.xml
vendored
Normal file
100
3rdparty/MicroTeX/res/cyrillic/cyrillic.map.xml
vendored
Normal file
@ -0,0 +1,100 @@
|
||||
<?xml version='1.0'?>
|
||||
<SymbolMappings>
|
||||
<SymbolMapping name="dotlessi" ch="305" fontId="wnr10"/>
|
||||
<!-- Modern Russian -->
|
||||
<SymbolMapping name="CYRA" ch="1040" fontId="wnr10"/>
|
||||
<SymbolMapping name="CYRB" ch="1041" fontId="wnr10"/>
|
||||
<SymbolMapping name="CYRV" ch="1042" fontId="wnr10"/>
|
||||
<SymbolMapping name="CYRG" ch="1043" fontId="wnr10"/>
|
||||
<SymbolMapping name="CYRD" ch="1044" fontId="wnr10"/>
|
||||
<SymbolMapping name="CYRE" ch="1045" fontId="wnr10"/>
|
||||
<SymbolMapping name="CYRYO" ch="1025" fontId="wnr10"/>
|
||||
<SymbolMapping name="CYRZH" ch="1046" fontId="wnr10"/>
|
||||
<SymbolMapping name="CYRZ" ch="1047" fontId="wnr10"/>
|
||||
<SymbolMapping name="CYRI" ch="1048" fontId="wnr10"/>
|
||||
<SymbolMapping name="CYRIO" ch="1049" fontId="wnr10"/>
|
||||
<SymbolMapping name="CYRK" ch="1050" fontId="wnr10"/>
|
||||
<SymbolMapping name="CYRL" ch="1051" fontId="wnr10"/>
|
||||
<SymbolMapping name="CYRM" ch="1052" fontId="wnr10"/>
|
||||
<SymbolMapping name="CYRN" ch="1053" fontId="wnr10"/>
|
||||
<SymbolMapping name="CYRO" ch="1054" fontId="wnr10"/>
|
||||
<SymbolMapping name="CYRP" ch="1055" fontId="wnr10"/>
|
||||
<SymbolMapping name="CYRR" ch="1056" fontId="wnr10"/>
|
||||
<SymbolMapping name="CYRS" ch="1057" fontId="wnr10"/>
|
||||
<SymbolMapping name="CYRT" ch="1058" fontId="wnr10"/>
|
||||
<SymbolMapping name="CYRU" ch="1059" fontId="wnr10"/>
|
||||
<SymbolMapping name="CYRF" ch="1060" fontId="wnr10"/>
|
||||
<SymbolMapping name="CYRH" ch="1061" fontId="wnr10"/>
|
||||
<SymbolMapping name="CYRC" ch="1062" fontId="wnr10"/>
|
||||
<SymbolMapping name="CYRCH" ch="1063" fontId="wnr10"/>
|
||||
<SymbolMapping name="CYRSH" ch="1064" fontId="wnr10"/>
|
||||
<SymbolMapping name="CYRSHCH" ch="1065" fontId="wnr10"/>
|
||||
<SymbolMapping name="CYRHRDSN" ch="1066" fontId="wnr10"/>
|
||||
<SymbolMapping name="CYRY" ch="1067" fontId="wnr10"/>
|
||||
<SymbolMapping name="CYRSFTSN" ch="1068" fontId="wnr10"/>
|
||||
<SymbolMapping name="CYREREV" ch="1069" fontId="wnr10"/>
|
||||
<SymbolMapping name="CYRYU" ch="1070" fontId="wnr10"/>
|
||||
<SymbolMapping name="CYRYA" ch="1071" fontId="wnr10"/>
|
||||
<SymbolMapping name="cyra" ch="1072" fontId="wnr10"/>
|
||||
<SymbolMapping name="cyrb" ch="1073" fontId="wnr10"/>
|
||||
<SymbolMapping name="cyrv" ch="1074" fontId="wnr10"/>
|
||||
<SymbolMapping name="cyrg" ch="1075" fontId="wnr10"/>
|
||||
<SymbolMapping name="cyrd" ch="1076" fontId="wnr10"/>
|
||||
<SymbolMapping name="cyre" ch="1077" fontId="wnr10"/>
|
||||
<SymbolMapping name="cyryo" ch="1105" fontId="wnr10"/>
|
||||
<SymbolMapping name="cyrzh" ch="1078" fontId="wnr10"/>
|
||||
<SymbolMapping name="cyrz" ch="1079" fontId="wnr10"/>
|
||||
<SymbolMapping name="cyri" ch="1080" fontId="wnr10"/>
|
||||
<SymbolMapping name="cyrio" ch="1081" fontId="wnr10"/>
|
||||
<SymbolMapping name="cyrk" ch="1082" fontId="wnr10"/>
|
||||
<SymbolMapping name="cyrl" ch="1083" fontId="wnr10"/>
|
||||
<SymbolMapping name="cyrm" ch="1084" fontId="wnr10"/>
|
||||
<SymbolMapping name="cyrn" ch="1085" fontId="wnr10"/>
|
||||
<SymbolMapping name="cyro" ch="1086" fontId="wnr10"/>
|
||||
<SymbolMapping name="cyrp" ch="1087" fontId="wnr10"/>
|
||||
<SymbolMapping name="cyrr" ch="1088" fontId="wnr10"/>
|
||||
<SymbolMapping name="cyrs" ch="1089" fontId="wnr10"/>
|
||||
<SymbolMapping name="cyrt" ch="1090" fontId="wnr10"/>
|
||||
<SymbolMapping name="cyru" ch="1091" fontId="wnr10"/>
|
||||
<SymbolMapping name="cyrf" ch="1092" fontId="wnr10"/>
|
||||
<SymbolMapping name="cyrh" ch="1093" fontId="wnr10"/>
|
||||
<SymbolMapping name="cyrc" ch="1094" fontId="wnr10"/>
|
||||
<SymbolMapping name="cyrch" ch="1095" fontId="wnr10"/>
|
||||
<SymbolMapping name="cyrsh" ch="1096" fontId="wnr10"/>
|
||||
<SymbolMapping name="cyrshch" ch="1097" fontId="wnr10"/>
|
||||
<SymbolMapping name="cyrhrdsn" ch="1098" fontId="wnr10"/>
|
||||
<SymbolMapping name="cyry" ch="1099" fontId="wnr10"/>
|
||||
<SymbolMapping name="cyrsftsn" ch="1100" fontId="wnr10"/>
|
||||
<SymbolMapping name="cyrerev" ch="1101" fontId="wnr10"/>
|
||||
<SymbolMapping name="cyryu" ch="1102" fontId="wnr10"/>
|
||||
<SymbolMapping name="cyrya" ch="1103" fontId="wnr10"/>
|
||||
<!-- Ukrainian -->
|
||||
<SymbolMapping name="CYRIE" ch="1028" fontId="wnr10"/>
|
||||
<SymbolMapping name="CYRII" ch="1030" fontId="wnr10"/>
|
||||
<SymbolMapping name="cyrie" ch="1108" fontId="wnr10"/>
|
||||
<SymbolMapping name="cyrii" ch="1110" fontId="wnr10"/>
|
||||
<!-- Other slavic languages and Old Russian -->
|
||||
<SymbolMapping name="CYRDJE" ch="1026" fontId="wnr10"/>
|
||||
<SymbolMapping name="CYRDZE" ch="1029" fontId="wnr10"/>
|
||||
<SymbolMapping name="CYRJE" ch="1032" fontId="wnr10"/>
|
||||
<SymbolMapping name="CYRLJE" ch="1033" fontId="wnr10"/>
|
||||
<SymbolMapping name="CYRNJE" ch="1034" fontId="wnr10"/>
|
||||
<SymbolMapping name="CYRTSHE" ch="1035" fontId="wnr10"/>
|
||||
<SymbolMapping name="CYRDZHE" ch="1039" fontId="wnr10"/>
|
||||
<SymbolMapping name="CYRIZH" ch="1140" fontId="wnr10"/>
|
||||
<SymbolMapping name="CYRYAT" ch="1122" fontId="wnr10"/>
|
||||
<SymbolMapping name="CYRFITA" ch="1138" fontId="wnr10"/>
|
||||
<SymbolMapping name="cyrdje" ch="1106" fontId="wnr10"/>
|
||||
<SymbolMapping name="cyrdze" ch="1109" fontId="wnr10"/>
|
||||
<SymbolMapping name="cyrje" ch="1112" fontId="wnr10"/>
|
||||
<SymbolMapping name="cyrlje" ch="1113" fontId="wnr10"/>
|
||||
<SymbolMapping name="cyrnje" ch="1114" fontId="wnr10"/>
|
||||
<SymbolMapping name="cyrtshe" ch="1115" fontId="wnr10"/>
|
||||
<SymbolMapping name="cyrdzhe" ch="1119" fontId="wnr10"/>
|
||||
<SymbolMapping name="cyrizh" ch="1141" fontId="wnr10"/>
|
||||
<SymbolMapping name="cyryat" ch="1123" fontId="wnr10"/>
|
||||
<SymbolMapping name="cyrfita" ch="1139" fontId="wnr10"/>
|
||||
<!-- Accent -->
|
||||
<SymbolMapping name="cyrbreve" ch="774" fontId="wnr10"/>
|
||||
<SymbolMapping name="cyrddot" ch="776" fontId="wnr10"/>
|
||||
</SymbolMappings>
|
||||
27
3rdparty/MicroTeX/res/cyrillic/language_cyrillic.xml
vendored
Normal file
27
3rdparty/MicroTeX/res/cyrillic/language_cyrillic.xml
vendored
Normal file
@ -0,0 +1,27 @@
|
||||
<?xml version='1.0'?>
|
||||
<!--
|
||||
language_cyrillic.xml
|
||||
-->
|
||||
|
||||
<TeXFont>
|
||||
|
||||
<SymbolMappings>
|
||||
<Mapping include="cyrillic.map.xml" />
|
||||
</SymbolMappings>
|
||||
|
||||
<FontDescriptions>
|
||||
<Metrics include="wnr10.xml" />
|
||||
<Metrics include="wnti10.xml" />
|
||||
<Metrics include="wntt10.xml" />
|
||||
<Metrics include="wnss10.xml" />
|
||||
<Metrics include="wnssi10.xml" />
|
||||
<Metrics include="wnssbx10.xml" />
|
||||
<Metrics include="wnbx10.xml" />
|
||||
<Metrics include="wnbxti10.xml" />
|
||||
</FontDescriptions>
|
||||
|
||||
<TeXSymbols include="symbols_cyrillic.xml" />
|
||||
|
||||
<FormulaSettings include="mappings_cyrillic.xml" />
|
||||
|
||||
</TeXFont>
|
||||
116
3rdparty/MicroTeX/res/cyrillic/mappings_cyrillic.xml
vendored
Normal file
116
3rdparty/MicroTeX/res/cyrillic/mappings_cyrillic.xml
vendored
Normal file
@ -0,0 +1,116 @@
|
||||
<?xml version='1.0'?>
|
||||
<!--
|
||||
mappings_cyrillic.xml
|
||||
-->
|
||||
|
||||
<FormulaSettings>
|
||||
<CharacterToSymbolMappings>
|
||||
<Map char="ı" symbol="dotlessi"/>
|
||||
<Map char="А" symbol="CYRA"/>
|
||||
<Map char="Б" symbol="CYRB"/>
|
||||
<Map char="В" symbol="CYRV"/>
|
||||
<Map char="Г" symbol="CYRG"/>
|
||||
<Map char="Д" symbol="CYRD"/>
|
||||
<Map char="Е" symbol="CYRE"/>
|
||||
<Map char="Ё" symbol="CYRYO"/>
|
||||
<Map char="Ж" symbol="CYRZH"/>
|
||||
<Map char="З" symbol="CYRZ"/>
|
||||
<Map char="И" symbol="CYRI"/>
|
||||
<Map char="Й" symbol="CYRIO"/>
|
||||
<Map char="К" symbol="CYRK"/>
|
||||
<Map char="Л" symbol="CYRL"/>
|
||||
<Map char="М" symbol="CYRM"/>
|
||||
<Map char="Н" symbol="CYRN"/>
|
||||
<Map char="О" symbol="CYRO"/>
|
||||
<Map char="П" symbol="CYRP"/>
|
||||
<Map char="Р" symbol="CYRR"/>
|
||||
<Map char="С" symbol="CYRS"/>
|
||||
<Map char="Т" symbol="CYRT"/>
|
||||
<Map char="У" symbol="CYRU"/>
|
||||
<Map char="Ф" symbol="CYRF"/>
|
||||
<Map char="Х" symbol="CYRH"/>
|
||||
<Map char="Ц" symbol="CYRC"/>
|
||||
<Map char="Ч" symbol="CYRCH"/>
|
||||
<Map char="Ш" symbol="CYRSH"/>
|
||||
<Map char="Щ" symbol="CYRSHCH"/>
|
||||
<Map char="Ъ" symbol="CYRHRDSN"/>
|
||||
<Map char="Ы" symbol="CYRY"/>
|
||||
<Map char="Ь" symbol="CYRSFTSN"/>
|
||||
<Map char="Э" symbol="CYREREV"/>
|
||||
<Map char="Ю" symbol="CYRYU"/>
|
||||
<Map char="Я" symbol="CYRYA"/>
|
||||
<Map char="а" symbol="cyra"/>
|
||||
<Map char="б" symbol="cyrb"/>
|
||||
<Map char="в" symbol="cyrv"/>
|
||||
<Map char="г" symbol="cyrg"/>
|
||||
<Map char="д" symbol="cyrd"/>
|
||||
<Map char="е" symbol="cyre"/>
|
||||
<Map char="ё" symbol="cyryo"/>
|
||||
<Map char="ж" symbol="cyrzh"/>
|
||||
<Map char="з" symbol="cyrz"/>
|
||||
<Map char="и" symbol="cyri"/>
|
||||
<Map char="й" symbol="cyrio"/>
|
||||
<Map char="к" symbol="cyrk"/>
|
||||
<Map char="л" symbol="cyrl"/>
|
||||
<Map char="м" symbol="cyrm"/>
|
||||
<Map char="н" symbol="cyrn"/>
|
||||
<Map char="о" symbol="cyro"/>
|
||||
<Map char="п" symbol="cyrp"/>
|
||||
<Map char="р" symbol="cyrr"/>
|
||||
<Map char="с" symbol="cyrs"/>
|
||||
<Map char="т" symbol="cyrt"/>
|
||||
<Map char="у" symbol="cyru"/>
|
||||
<Map char="ф" symbol="cyrf"/>
|
||||
<Map char="х" symbol="cyrh"/>
|
||||
<Map char="ц" symbol="cyrc"/>
|
||||
<Map char="ч" symbol="cyrch"/>
|
||||
<Map char="ш" symbol="cyrsh"/>
|
||||
<Map char="щ" symbol="cyrshch"/>
|
||||
<Map char="ъ" symbol="cyrhrdsn"/>
|
||||
<Map char="ы" symbol="cyry"/>
|
||||
<Map char="ь" symbol="cyrsftsn"/>
|
||||
<Map char="э" symbol="cyrerev"/>
|
||||
<Map char="ю" symbol="cyryu"/>
|
||||
<Map char="я" symbol="cyrya"/>
|
||||
<Map char="Є" symbol="CYRIE"/>
|
||||
<Map char="І" symbol="CYRII"/>
|
||||
<Map char="є" symbol="cyrie"/>
|
||||
<Map char="і" symbol="cyrii"/>
|
||||
<Map char="Ђ" symbol="CYRDJE"/>
|
||||
<Map char="Ѕ" symbol="CYRDZE"/>
|
||||
<Map char="Ј" symbol="CYRJE"/>
|
||||
<Map char="Љ" symbol="CYRLJE"/>
|
||||
<Map char="Њ" symbol="CYRNJE"/>
|
||||
<Map char="Ћ" symbol="CYRTSHE"/>
|
||||
<Map char="Џ" symbol="CYRDZHE"/>
|
||||
<Map char="Ѵ" symbol="CYRIZH"/>
|
||||
<Map char="Ѣ" symbol="CYRYAT"/>
|
||||
<Map char="Ѳ" symbol="CYRFITA"/>
|
||||
<Map char="ђ" symbol="cyrdje"/>
|
||||
<Map char="ѕ" symbol="cyrdze"/>
|
||||
<Map char="ј" symbol="cyrje"/>
|
||||
<Map char="љ" symbol="cyrlje"/>
|
||||
<Map char="њ" symbol="cyrnje"/>
|
||||
<Map char="ћ" symbol="cyrtshe"/>
|
||||
<Map char="џ" symbol="cyrdzhe"/>
|
||||
<Map char="ѵ" symbol="cyrizh"/>
|
||||
<Map char="ѣ" symbol="cyryat"/>
|
||||
<Map char="ѳ" symbol="cyrfita"/>
|
||||
</CharacterToSymbolMappings>
|
||||
|
||||
<CharacterToFormulaMappings>
|
||||
<Map char="Ѐ" formula="\`\CYRE"/>
|
||||
<Map char="Ѓ" formula="\'\CYRG"/>
|
||||
<Map char="Ї" formula="\cyrddot\CYRII"/>
|
||||
<Map char="ї" formula="\cyrddot\dotlessi"/>
|
||||
<Map char="Ѓ" formula="\'\CYRG"/>
|
||||
<Map char="Ѓ" formula="\'\CYRK"/>
|
||||
<Map char="Ѝ" formula="\`\CYRI"/>
|
||||
<Map char="Ў" formula="\cyrbreve\CYRU"/>
|
||||
<Map char="ѐ" formula="\`\cyre"/>
|
||||
<Map char="ѓ" formula="\'\cyrg"/>
|
||||
<Map char="ќ" formula="\'\cyrk"/>
|
||||
<Map char="ѝ" formula="\`\cyri"/>
|
||||
<Map char="ў" formula="\cyrbreve\cyru"/>
|
||||
</CharacterToFormulaMappings>
|
||||
</FormulaSettings>
|
||||
104
3rdparty/MicroTeX/res/cyrillic/symbols_cyrillic.xml
vendored
Normal file
104
3rdparty/MicroTeX/res/cyrillic/symbols_cyrillic.xml
vendored
Normal file
@ -0,0 +1,104 @@
|
||||
<?xml version='1.0'?>
|
||||
<!--
|
||||
symbols_cyrillic.xml
|
||||
-->
|
||||
|
||||
<TeXSymbols>
|
||||
<Symbol name="dotlessi" type="ord"/>
|
||||
<Symbol name="cyrbreve" type="acc"/>
|
||||
<Symbol name="cyrddot" type="acc"/>
|
||||
<Symbol name="CYRA" type="ord"/>
|
||||
<Symbol name="CYRB" type="ord"/>
|
||||
<Symbol name="CYRV" type="ord"/>
|
||||
<Symbol name="CYRG" type="ord"/>
|
||||
<Symbol name="CYRD" type="ord"/>
|
||||
<Symbol name="CYRE" type="ord"/>
|
||||
<Symbol name="CYRYO" type="ord"/>
|
||||
<Symbol name="CYRZH" type="ord"/>
|
||||
<Symbol name="CYRZ" type="ord"/>
|
||||
<Symbol name="CYRE" type="ord"/>
|
||||
<Symbol name="CYRI" type="ord"/>
|
||||
<Symbol name="CYRIO" type="ord"/>
|
||||
<Symbol name="CYRK" type="ord"/>
|
||||
<Symbol name="CYRL" type="ord"/>
|
||||
<Symbol name="CYRM" type="ord"/>
|
||||
<Symbol name="CYRN" type="ord"/>
|
||||
<Symbol name="CYRO" type="ord"/>
|
||||
<Symbol name="CYRP" type="ord"/>
|
||||
<Symbol name="CYRR" type="ord"/>
|
||||
<Symbol name="CYRS" type="ord"/>
|
||||
<Symbol name="CYRT" type="ord"/>
|
||||
<Symbol name="CYRU" type="ord"/>
|
||||
<Symbol name="CYRF" type="ord"/>
|
||||
<Symbol name="CYRH" type="ord"/>
|
||||
<Symbol name="CYRC" type="ord"/>
|
||||
<Symbol name="CYRCH" type="ord"/>
|
||||
<Symbol name="CYRSH" type="ord"/>
|
||||
<Symbol name="CYRSHCH" type="ord"/>
|
||||
<Symbol name="CYRHRDSN" type="ord"/>
|
||||
<Symbol name="CYRY" type="ord"/>
|
||||
<Symbol name="CYRSFTSN" type="ord"/>
|
||||
<Symbol name="CYREREV" type="ord"/>
|
||||
<Symbol name="CYRYU" type="ord"/>
|
||||
<Symbol name="CYRYA" type="ord"/>
|
||||
<Symbol name="cyra" type="ord"/>
|
||||
<Symbol name="cyrb" type="ord"/>
|
||||
<Symbol name="cyrv" type="ord"/>
|
||||
<Symbol name="cyrg" type="ord"/>
|
||||
<Symbol name="cyrd" type="ord"/>
|
||||
<Symbol name="cyre" type="ord"/>
|
||||
<Symbol name="cyryo" type="ord"/>
|
||||
<Symbol name="cyrzh" type="ord"/>
|
||||
<Symbol name="cyrz" type="ord"/>
|
||||
<Symbol name="cyre" type="ord"/>
|
||||
<Symbol name="cyri" type="ord"/>
|
||||
<Symbol name="cyrio" type="ord"/>
|
||||
<Symbol name="cyrk" type="ord"/>
|
||||
<Symbol name="cyrl" type="ord"/>
|
||||
<Symbol name="cyrm" type="ord"/>
|
||||
<Symbol name="cyrn" type="ord"/>
|
||||
<Symbol name="cyro" type="ord"/>
|
||||
<Symbol name="cyrp" type="ord"/>
|
||||
<Symbol name="cyrr" type="ord"/>
|
||||
<Symbol name="cyrs" type="ord"/>
|
||||
<Symbol name="cyrt" type="ord"/>
|
||||
<Symbol name="cyru" type="ord"/>
|
||||
<Symbol name="cyrf" type="ord"/>
|
||||
<Symbol name="cyrh" type="ord"/>
|
||||
<Symbol name="cyrc" type="ord"/>
|
||||
<Symbol name="cyrch" type="ord"/>
|
||||
<Symbol name="cyrsh" type="ord"/>
|
||||
<Symbol name="cyrshch" type="ord"/>
|
||||
<Symbol name="cyrhrdsn" type="ord"/>
|
||||
<Symbol name="cyry" type="ord"/>
|
||||
<Symbol name="cyrsftsn" type="ord"/>
|
||||
<Symbol name="cyrerev" type="ord"/>
|
||||
<Symbol name="cyryu" type="ord"/>
|
||||
<Symbol name="cyrya" type="ord"/>
|
||||
<!-- Ukrainian -->
|
||||
<Symbol name="CYRIE" type="ord"/>
|
||||
<Symbol name="CYRII" type="ord"/>
|
||||
<Symbol name="cyrie" type="ord"/>
|
||||
<Symbol name="cyrii" type="ord"/>
|
||||
<!-- Other slavic languages and Old Russian -->
|
||||
<Symbol name="CYRDJE" type="ord"/>
|
||||
<Symbol name="CYRDZE" type="ord"/>
|
||||
<Symbol name="CYRJE" type="ord"/>
|
||||
<Symbol name="CYRLJE" type="ord"/>
|
||||
<Symbol name="CYRNJE" type="ord"/>
|
||||
<Symbol name="CYRTSHE" type="ord"/>
|
||||
<Symbol name="CYRDZHE" type="ord"/>
|
||||
<Symbol name="CYRIZH" type="ord"/>
|
||||
<Symbol name="CYRYAT" type="ord"/>
|
||||
<Symbol name="CYRFITA" type="ord"/>
|
||||
<Symbol name="cyrdje" type="ord"/>
|
||||
<Symbol name="cyrdze" type="ord"/>
|
||||
<Symbol name="cyrje" type="ord"/>
|
||||
<Symbol name="cyrlje" type="ord"/>
|
||||
<Symbol name="cyrnje" type="ord"/>
|
||||
<Symbol name="cyrtshe" type="ord"/>
|
||||
<Symbol name="cyrdzhe" type="ord"/>
|
||||
<Symbol name="cyrizh" type="ord"/>
|
||||
<Symbol name="cyryat" type="ord"/>
|
||||
<Symbol name="cyrfita" type="ord"/>
|
||||
</TeXSymbols>
|
||||
BIN
3rdparty/MicroTeX/res/cyrillic/wnbx10.ttf
vendored
Normal file
BIN
3rdparty/MicroTeX/res/cyrillic/wnbx10.ttf
vendored
Normal file
Binary file not shown.
615
3rdparty/MicroTeX/res/cyrillic/wnbx10.xml
vendored
Normal file
615
3rdparty/MicroTeX/res/cyrillic/wnbx10.xml
vendored
Normal file
@ -0,0 +1,615 @@
|
||||
<Font name="wnbx10.ttf" id="wnbx10" space="0.383331" xHeight="0.444445" quad="1.149994" unicode="95" itVersion="wnbxti10" ssVersion="wnssbx10" ttVersion="wntt10">
|
||||
<Char code="1034" width="1.234021" height="0.686111" >
|
||||
<Kern code="1046" val="-0.031944"/>
|
||||
<Kern code="1061" val="-0.031944"/>
|
||||
<Kern code="1054" val="-0.031944"/>
|
||||
<Kern code="1060" val="-0.031944"/>
|
||||
<Kern code="1138" val="-0.031944"/>
|
||||
<Kern code="1057" val="-0.031944"/>
|
||||
<Kern code="1028" val="-0.031944"/>
|
||||
<Kern code="1058" val="-0.095833"/>
|
||||
<Kern code="1066" val="-0.095833"/>
|
||||
<Kern code="1026" val="-0.095833"/>
|
||||
<Kern code="1035" val="-0.095833"/>
|
||||
<Kern code="1122" val="-0.095833"/>
|
||||
<Kern code="1063" val="-0.095833"/>
|
||||
<Kern code="1059" val="-0.095833"/>
|
||||
<Kern code="1140" val="-0.127777"/>
|
||||
<Kern code="1090" val="-0.031944"/>
|
||||
<Kern code="1098" val="-0.031944"/>
|
||||
<Kern code="1123" val="-0.031944"/>
|
||||
<Kern code="1095" val="-0.095833"/>
|
||||
</Char>
|
||||
<Char code="1033" width="1.234021" height="0.686111" >
|
||||
<Kern code="1046" val="-0.031944"/>
|
||||
<Kern code="1061" val="-0.031944"/>
|
||||
<Kern code="1054" val="-0.031944"/>
|
||||
<Kern code="1060" val="-0.031944"/>
|
||||
<Kern code="1138" val="-0.031944"/>
|
||||
<Kern code="1057" val="-0.031944"/>
|
||||
<Kern code="1028" val="-0.031944"/>
|
||||
<Kern code="1058" val="-0.095833"/>
|
||||
<Kern code="1066" val="-0.095833"/>
|
||||
<Kern code="1026" val="-0.095833"/>
|
||||
<Kern code="1035" val="-0.095833"/>
|
||||
<Kern code="1122" val="-0.095833"/>
|
||||
<Kern code="1063" val="-0.095833"/>
|
||||
<Kern code="1059" val="-0.095833"/>
|
||||
<Kern code="1140" val="-0.127777"/>
|
||||
<Kern code="1090" val="-0.031944"/>
|
||||
<Kern code="1098" val="-0.031944"/>
|
||||
<Kern code="1123" val="-0.031944"/>
|
||||
<Kern code="1095" val="-0.095833"/>
|
||||
</Char>
|
||||
<Char code="1039" width="0.901384" height="0.686111" depth="0.194445" />
|
||||
<Char code="1069" width="0.830551" height="0.686111" >
|
||||
<Kern code="1040" val="-0.031944"/>
|
||||
<Kern code="1044" val="-0.031944"/>
|
||||
<Kern code="1046" val="-0.031944"/>
|
||||
<Kern code="1061" val="-0.031944"/>
|
||||
<Kern code="1059" val="-0.031944"/>
|
||||
<Kern code="1140" val="-0.031944"/>
|
||||
<Kern code="1071" val="-0.031944"/>
|
||||
</Char>
|
||||
<Char code="1030" width="0.43611" height="0.686111" >
|
||||
<Kern code="1030" val="0.031944"/>
|
||||
</Char>
|
||||
<Char code="1028" width="0.830551" height="0.686111" />
|
||||
<Char code="1026" width="0.959717" height="0.686111" >
|
||||
<Kern code="1046" val="-0.031944"/>
|
||||
<Kern code="1061" val="-0.031944"/>
|
||||
<Kern code="1054" val="-0.031944"/>
|
||||
<Kern code="1060" val="-0.031944"/>
|
||||
<Kern code="1138" val="-0.031944"/>
|
||||
<Kern code="1057" val="-0.031944"/>
|
||||
<Kern code="1028" val="-0.031944"/>
|
||||
<Kern code="1058" val="-0.095833"/>
|
||||
<Kern code="1066" val="-0.095833"/>
|
||||
<Kern code="1026" val="-0.095833"/>
|
||||
<Kern code="1035" val="-0.095833"/>
|
||||
<Kern code="1122" val="-0.095833"/>
|
||||
<Kern code="1063" val="-0.095833"/>
|
||||
<Kern code="1059" val="-0.095833"/>
|
||||
<Kern code="1140" val="-0.127777"/>
|
||||
<Kern code="1090" val="-0.031944"/>
|
||||
<Kern code="1098" val="-0.031944"/>
|
||||
<Kern code="1123" val="-0.031944"/>
|
||||
<Kern code="1095" val="-0.095833"/>
|
||||
</Char>
|
||||
<Char code="1035" width="0.8784685" height="0.686111" />
|
||||
<Char code="1114" width="0.86319" height="0.444445" >
|
||||
<Kern code="1091" val="-0.063889"/>
|
||||
<Kern code="1141" val="-0.063889"/>
|
||||
<Kern code="1090" val="-0.031944"/>
|
||||
<Kern code="1098" val="-0.031944"/>
|
||||
<Kern code="1123" val="-0.031944"/>
|
||||
<Kern code="1095" val="-0.095833"/>
|
||||
<Kern code="1086" val="-0.031944"/>
|
||||
<Kern code="1139" val="-0.031944"/>
|
||||
<Kern code="1092" val="-0.031944"/>
|
||||
<Kern code="1108" val="-0.031944"/>
|
||||
</Char>
|
||||
<Char code="1113" width="0.86319" height="0.444445" >
|
||||
<Kern code="1091" val="-0.063889"/>
|
||||
<Kern code="1141" val="-0.063889"/>
|
||||
<Kern code="1090" val="-0.031944"/>
|
||||
<Kern code="1098" val="-0.031944"/>
|
||||
<Kern code="1123" val="-0.031944"/>
|
||||
<Kern code="1095" val="-0.095833"/>
|
||||
<Kern code="1086" val="-0.031944"/>
|
||||
<Kern code="1139" val="-0.031944"/>
|
||||
<Kern code="1092" val="-0.031944"/>
|
||||
<Kern code="1108" val="-0.031944"/>
|
||||
</Char>
|
||||
<Char code="1119" width="0.6388855" height="0.444445" depth="0.162038" />
|
||||
<Char code="1101" width="0.511108" height="0.444445" >
|
||||
<Kern code="1076" val="-0.031944"/>
|
||||
<Kern code="1078" val="-0.031944"/>
|
||||
<Kern code="1093" val="-0.031944"/>
|
||||
<Kern code="1103" val="-0.031944"/>
|
||||
</Char>
|
||||
<Char code="1110" width="0.319443" height="0.694445" />
|
||||
<Char code="1108" width="0.50472" height="0.444445" />
|
||||
<Char code="1106" width="0.606941" height="0.694445" depth="0.194445" />
|
||||
<Char code="1115" width="0.6388855" height="0.694445" />
|
||||
<Char code="1070" width="1.273605" height="0.686111" >
|
||||
<Kern code="1040" val="-0.031944"/>
|
||||
<Kern code="1044" val="-0.031944"/>
|
||||
<Kern code="1046" val="-0.031944"/>
|
||||
<Kern code="1061" val="-0.031944"/>
|
||||
<Kern code="1059" val="-0.031944"/>
|
||||
<Kern code="1140" val="-0.031944"/>
|
||||
<Kern code="1071" val="-0.031944"/>
|
||||
</Char>
|
||||
<Char code="1046" width="1.366656" height="0.686111" >
|
||||
<Kern code="1054" val="-0.031944"/>
|
||||
<Kern code="1060" val="-0.031944"/>
|
||||
<Kern code="1138" val="-0.031944"/>
|
||||
<Kern code="1057" val="-0.031944"/>
|
||||
<Kern code="1028" val="-0.031944"/>
|
||||
<Kern code="1095" val="-0.031944"/>
|
||||
<Kern code="1090" val="-0.031944"/>
|
||||
<Kern code="1098" val="-0.031944"/>
|
||||
<Kern code="1123" val="-0.031944"/>
|
||||
</Char>
|
||||
<Char code="1049" width="0.901384" height="0.894394" />
|
||||
<Char code="1025" width="0.755551" height="0.894394" />
|
||||
<Char code="1140" width="0.945828" height="0.686111" italic="0.015973" >
|
||||
<Kern code="1040" val="-0.127777"/>
|
||||
<Kern code="1071" val="-0.127777"/>
|
||||
<Kern code="1054" val="-0.031944"/>
|
||||
<Kern code="1060" val="-0.031944"/>
|
||||
<Kern code="1138" val="-0.031944"/>
|
||||
<Kern code="1057" val="-0.031944"/>
|
||||
<Kern code="1028" val="-0.031944"/>
|
||||
<Kern code="1072" val="-0.095833"/>
|
||||
<Kern code="1086" val="-0.095833"/>
|
||||
<Kern code="1139" val="-0.095833"/>
|
||||
<Kern code="1077" val="-0.095833"/>
|
||||
<Kern code="1105" val="-0.095833"/>
|
||||
<Kern code="1076" val="-0.127777"/>
|
||||
<Kern code="1083" val="-0.127777"/>
|
||||
<Kern code="1113" val="-0.127777"/>
|
||||
<Kern code="1103" val="-0.127777"/>
|
||||
</Char>
|
||||
<Char code="1138" width="0.89444" height="0.686111" >
|
||||
<Kern code="1040" val="-0.031944"/>
|
||||
<Kern code="1044" val="-0.031944"/>
|
||||
<Kern code="1046" val="-0.031944"/>
|
||||
<Kern code="1061" val="-0.031944"/>
|
||||
<Kern code="1059" val="-0.031944"/>
|
||||
<Kern code="1140" val="-0.031944"/>
|
||||
<Kern code="1071" val="-0.031944"/>
|
||||
</Char>
|
||||
<Char code="1029" width="0.6388855" height="0.686111" />
|
||||
<Char code="1071" width="0.901384" height="0.686111" />
|
||||
<Char code="1102" width="0.862495" height="0.444445" >
|
||||
<Kern code="1076" val="-0.031944"/>
|
||||
<Kern code="1078" val="-0.031944"/>
|
||||
<Kern code="1093" val="-0.031944"/>
|
||||
<Kern code="1103" val="-0.031944"/>
|
||||
</Char>
|
||||
<Char code="1078" width="0.958328" height="0.444445" >
|
||||
<Kern code="1072" val="-0.031944"/>
|
||||
<Kern code="1086" val="-0.031944"/>
|
||||
<Kern code="1139" val="-0.031944"/>
|
||||
<Kern code="1089" val="-0.031944"/>
|
||||
<Kern code="1108" val="-0.031944"/>
|
||||
<Kern code="1077" val="-0.031944"/>
|
||||
<Kern code="1105" val="-0.031944"/>
|
||||
</Char>
|
||||
<Char code="1081" width="0.6388855" height="0.652727" />
|
||||
<Char code="1105" width="0.5270815" height="0.686111" />
|
||||
<Char code="1141" width="0.685414" height="0.444445" italic="0.015973" >
|
||||
<Kern code="1072" val="-0.031944"/>
|
||||
<Kern code="1086" val="-0.031944"/>
|
||||
<Kern code="1139" val="-0.031944"/>
|
||||
<Kern code="1089" val="-0.031944"/>
|
||||
<Kern code="1108" val="-0.031944"/>
|
||||
<Kern code="1077" val="-0.031944"/>
|
||||
<Kern code="1105" val="-0.031944"/>
|
||||
<Kern code="1103" val="-0.031944"/>
|
||||
<Kern code="1076" val="-0.063889"/>
|
||||
<Kern code="1083" val="-0.063889"/>
|
||||
<Kern code="1113" val="-0.063889"/>
|
||||
</Char>
|
||||
<Char code="1139" width="0.511108" height="0.444445" >
|
||||
<Kern code="1076" val="-0.031944"/>
|
||||
<Kern code="1078" val="-0.031944"/>
|
||||
<Kern code="1093" val="-0.031944"/>
|
||||
<Kern code="1103" val="-0.031944"/>
|
||||
</Char>
|
||||
<Char code="1109" width="0.4536085" height="0.444445" />
|
||||
<Char code="1103" width="0.6076355" height="0.444445" />
|
||||
<Char code="776" width="0.574997" height="0.686111" />
|
||||
<Char code="1122" width="0.945828" height="0.75" >
|
||||
<Kern code="1046" val="-0.031944"/>
|
||||
<Kern code="1061" val="-0.031944"/>
|
||||
<Kern code="1054" val="-0.031944"/>
|
||||
<Kern code="1060" val="-0.031944"/>
|
||||
<Kern code="1138" val="-0.031944"/>
|
||||
<Kern code="1057" val="-0.031944"/>
|
||||
<Kern code="1028" val="-0.031944"/>
|
||||
<Kern code="1058" val="-0.095833"/>
|
||||
<Kern code="1066" val="-0.095833"/>
|
||||
<Kern code="1026" val="-0.095833"/>
|
||||
<Kern code="1035" val="-0.095833"/>
|
||||
<Kern code="1122" val="-0.095833"/>
|
||||
<Kern code="1063" val="-0.095833"/>
|
||||
<Kern code="1059" val="-0.095833"/>
|
||||
<Kern code="1140" val="-0.127777"/>
|
||||
<Kern code="1090" val="-0.031944"/>
|
||||
<Kern code="1098" val="-0.031944"/>
|
||||
<Kern code="1123" val="-0.031944"/>
|
||||
<Kern code="1095" val="-0.095833"/>
|
||||
</Char>
|
||||
<Char code="774" width="0.574997" height="0.652727" />
|
||||
<Char code="1123" width="0.574997" height="0.652727" >
|
||||
<Kern code="1091" val="-0.063889"/>
|
||||
<Kern code="1141" val="-0.063889"/>
|
||||
<Kern code="1090" val="-0.031944"/>
|
||||
<Kern code="1098" val="-0.031944"/>
|
||||
<Kern code="1123" val="-0.031944"/>
|
||||
<Kern code="1095" val="-0.095833"/>
|
||||
<Kern code="1086" val="-0.031944"/>
|
||||
<Kern code="1139" val="-0.031944"/>
|
||||
<Kern code="1092" val="-0.031944"/>
|
||||
<Kern code="1108" val="-0.031944"/>
|
||||
</Char>
|
||||
<Char code="171" width="0.6388855" height="0.472223" />
|
||||
<Char code="305" width="0.319443" height="0.444445" />
|
||||
<Char code="187" width="0.6388855" height="0.472223" />
|
||||
<Char code="1040" width="0.86944" height="0.686111" >
|
||||
<Kern code="1054" val="-0.031944"/>
|
||||
<Kern code="1060" val="-0.031944"/>
|
||||
<Kern code="1138" val="-0.031944"/>
|
||||
<Kern code="1057" val="-0.031944"/>
|
||||
<Kern code="1028" val="-0.031944"/>
|
||||
<Kern code="1058" val="-0.095833"/>
|
||||
<Kern code="1066" val="-0.095833"/>
|
||||
<Kern code="1026" val="-0.095833"/>
|
||||
<Kern code="1035" val="-0.095833"/>
|
||||
<Kern code="1122" val="-0.095833"/>
|
||||
<Kern code="1063" val="-0.095833"/>
|
||||
<Kern code="1059" val="-0.095833"/>
|
||||
<Kern code="1140" val="-0.127777"/>
|
||||
<Kern code="1090" val="-0.031944"/>
|
||||
<Kern code="1098" val="-0.031944"/>
|
||||
<Kern code="1123" val="-0.031944"/>
|
||||
<Kern code="1095" val="-0.095833"/>
|
||||
</Char>
|
||||
<Char code="1041" width="0.818051" height="0.686111" />
|
||||
<Char code="1062" width="0.901384" height="0.686111" depth="0.194445" >
|
||||
<Lig code="1061" ligCode="1063"/>
|
||||
<Lig code="1093" ligCode="1063"/>
|
||||
</Char>
|
||||
<Char code="1044" width="0.901384" height="0.686111" depth="0.194445" >
|
||||
<Lig code="1032" ligCode="1026"/>
|
||||
<Lig code="1112" ligCode="1026"/>
|
||||
</Char>
|
||||
<Char code="1045" width="0.755551" height="0.686111" >
|
||||
</Char>
|
||||
<Char code="1060" width="0.958328" height="0.686111" >
|
||||
<Kern code="1040" val="-0.031944"/>
|
||||
<Kern code="1044" val="-0.031944"/>
|
||||
<Kern code="1046" val="-0.031944"/>
|
||||
<Kern code="1061" val="-0.031944"/>
|
||||
<Kern code="1059" val="-0.031944"/>
|
||||
<Kern code="1140" val="-0.031944"/>
|
||||
<Kern code="1071" val="-0.031944"/>
|
||||
</Char>
|
||||
<Char code="1043" width="0.691663" height="0.686111" >
|
||||
<Kern code="1040" val="-0.095833"/>
|
||||
<Kern code="1044" val="-0.095833"/>
|
||||
<Kern code="1071" val="-0.095833"/>
|
||||
<Kern code="1051" val="-0.031944"/>
|
||||
<Kern code="1033" val="-0.031944"/>
|
||||
<Kern code="1072" val="-0.095833"/>
|
||||
<Kern code="1086" val="-0.095833"/>
|
||||
<Kern code="1139" val="-0.095833"/>
|
||||
<Kern code="1077" val="-0.095833"/>
|
||||
<Kern code="1105" val="-0.095833"/>
|
||||
<Kern code="1089" val="-0.095833"/>
|
||||
<Kern code="1108" val="-0.095833"/>
|
||||
<Kern code="1092" val="-0.095833"/>
|
||||
<Kern code="1076" val="-0.095833"/>
|
||||
<Kern code="1083" val="-0.095833"/>
|
||||
<Kern code="1113" val="-0.095833"/>
|
||||
<Kern code="1103" val="-0.095833"/>
|
||||
</Char>
|
||||
<Char code="1061" width="0.86944" height="0.686111" >
|
||||
<Kern code="1054" val="-0.031944"/>
|
||||
<Kern code="1060" val="-0.031944"/>
|
||||
<Kern code="1138" val="-0.031944"/>
|
||||
<Kern code="1057" val="-0.031944"/>
|
||||
<Kern code="1028" val="-0.031944"/>
|
||||
<Kern code="1095" val="-0.031944"/>
|
||||
<Kern code="1090" val="-0.031944"/>
|
||||
<Kern code="1098" val="-0.031944"/>
|
||||
<Kern code="1123" val="-0.031944"/>
|
||||
</Char>
|
||||
<Char code="1048" width="0.901384" height="0.686111" >
|
||||
</Char>
|
||||
<Char code="1032" width="0.594441" height="0.686111" >
|
||||
</Char>
|
||||
<Char code="1050" width="0.901384" height="0.686111" >
|
||||
<Lig code="1061" ligCode="1061"/>
|
||||
<Lig code="1093" ligCode="1061"/>
|
||||
<Kern code="1054" val="-0.031944"/>
|
||||
<Kern code="1060" val="-0.031944"/>
|
||||
<Kern code="1138" val="-0.031944"/>
|
||||
<Kern code="1057" val="-0.031944"/>
|
||||
<Kern code="1028" val="-0.031944"/>
|
||||
<Kern code="1095" val="-0.031944"/>
|
||||
<Kern code="1090" val="-0.031944"/>
|
||||
<Kern code="1098" val="-0.031944"/>
|
||||
<Kern code="1123" val="-0.031944"/>
|
||||
</Char>
|
||||
<Char code="1051" width="0.901384" height="0.686111" >
|
||||
<Lig code="1032" ligCode="1033"/>
|
||||
<Lig code="1112" ligCode="1033"/>
|
||||
</Char>
|
||||
<Char code="1052" width="1.091661" height="0.686111" />
|
||||
<Char code="1053" width="0.901384" height="0.686111" >
|
||||
<Lig code="1032" ligCode="1034"/>
|
||||
<Lig code="1112" ligCode="1034"/>
|
||||
</Char>
|
||||
<Char code="1054" width="0.863884" height="0.686111" >
|
||||
<Kern code="1040" val="-0.031944"/>
|
||||
<Kern code="1044" val="-0.031944"/>
|
||||
<Kern code="1046" val="-0.031944"/>
|
||||
<Kern code="1061" val="-0.031944"/>
|
||||
<Kern code="1059" val="-0.031944"/>
|
||||
<Kern code="1140" val="-0.031944"/>
|
||||
<Kern code="1071" val="-0.031944"/>
|
||||
</Char>
|
||||
<Char code="1055" width="0.901384" height="0.686111" >
|
||||
</Char>
|
||||
<Char code="1063" width="0.901384" height="0.686111" />
|
||||
<Char code="1056" width="0.786107" height="0.686111" >
|
||||
<Kern code="1040" val="-0.095833"/>
|
||||
<Kern code="1044" val="-0.095833"/>
|
||||
<Kern code="1051" val="-0.095833"/>
|
||||
<Kern code="1033" val="-0.095833"/>
|
||||
<Kern code="1071" val="-0.095833"/>
|
||||
<Kern code="1072" val="-0.031944"/>
|
||||
<Kern code="1086" val="-0.031944"/>
|
||||
<Kern code="1139" val="-0.031944"/>
|
||||
<Kern code="1077" val="-0.031944"/>
|
||||
<Kern code="1105" val="-0.031944"/>
|
||||
<Kern code="1076" val="-0.095833"/>
|
||||
<Kern code="1083" val="-0.095833"/>
|
||||
<Kern code="1113" val="-0.095833"/>
|
||||
</Char>
|
||||
<Char code="1057" width="0.830551" height="0.686111" >
|
||||
<Lig code="1061" ligCode="1064"/>
|
||||
<Lig code="1093" ligCode="1064"/>
|
||||
</Char>
|
||||
<Char code="1058" width="0.799995" height="0.686111" >
|
||||
<Lig code="1057" ligCode="1062"/>
|
||||
<Lig code="1089" ligCode="1062"/>
|
||||
<Kern code="1040" val="-0.095833"/>
|
||||
<Kern code="1044" val="-0.095833"/>
|
||||
<Kern code="1071" val="-0.095833"/>
|
||||
<Kern code="1051" val="-0.031944"/>
|
||||
<Kern code="1033" val="-0.031944"/>
|
||||
<Kern code="1072" val="-0.095833"/>
|
||||
<Kern code="1086" val="-0.095833"/>
|
||||
<Kern code="1139" val="-0.095833"/>
|
||||
<Kern code="1077" val="-0.095833"/>
|
||||
<Kern code="1105" val="-0.095833"/>
|
||||
<Kern code="1089" val="-0.095833"/>
|
||||
<Kern code="1108" val="-0.095833"/>
|
||||
<Kern code="1092" val="-0.095833"/>
|
||||
<Kern code="1076" val="-0.095833"/>
|
||||
<Kern code="1083" val="-0.095833"/>
|
||||
<Kern code="1113" val="-0.095833"/>
|
||||
<Kern code="1103" val="-0.095833"/>
|
||||
</Char>
|
||||
<Char code="1059" width="0.86944" height="0.686111" italic="0.015973" >
|
||||
<Kern code="1040" val="-0.095833"/>
|
||||
<Kern code="1071" val="-0.095833"/>
|
||||
<Kern code="1044" val="-0.063889"/>
|
||||
<Kern code="1051" val="-0.063889"/>
|
||||
<Kern code="1033" val="-0.063889"/>
|
||||
<Kern code="1054" val="-0.031944"/>
|
||||
<Kern code="1060" val="-0.031944"/>
|
||||
<Kern code="1138" val="-0.031944"/>
|
||||
<Kern code="1057" val="-0.031944"/>
|
||||
<Kern code="1028" val="-0.031944"/>
|
||||
<Kern code="1072" val="-0.095833"/>
|
||||
<Kern code="1086" val="-0.095833"/>
|
||||
<Kern code="1139" val="-0.095833"/>
|
||||
<Kern code="1077" val="-0.095833"/>
|
||||
<Kern code="1105" val="-0.095833"/>
|
||||
<Kern code="1089" val="-0.095833"/>
|
||||
<Kern code="1108" val="-0.095833"/>
|
||||
<Kern code="1076" val="-0.095833"/>
|
||||
<Kern code="1083" val="-0.095833"/>
|
||||
<Kern code="1113" val="-0.095833"/>
|
||||
<Kern code="1103" val="-0.095833"/>
|
||||
</Char>
|
||||
<Char code="1042" width="0.818051" height="0.686111" />
|
||||
<Char code="1065" width="1.3312435" height="0.686111" depth="0.194445" />
|
||||
<Char code="1064" width="1.3312435" height="0.686111" >
|
||||
<Lig code="1063" ligCode="1065"/>
|
||||
<Lig code="1095" ligCode="1065"/>
|
||||
<Lig code="1062" ligCode="0"/>
|
||||
<Lig code="1094" ligCode="0"/>
|
||||
</Char>
|
||||
<Char code="1067" width="1.124994" height="0.686111" >
|
||||
<Lig code="1040" ligCode="1071"/>
|
||||
<Lig code="1072" ligCode="1071"/>
|
||||
<Lig code="1059" ligCode="1070"/>
|
||||
<Lig code="1091" ligCode="1070"/>
|
||||
</Char>
|
||||
<Char code="1047" width="0.702774" height="0.686111" >
|
||||
<Lig code="1061" ligCode="1046"/>
|
||||
<Lig code="1093" ligCode="1046"/>
|
||||
</Char>
|
||||
<Char code="1068" width="0.818051" height="0.686111" >
|
||||
<Kern code="1046" val="-0.031944"/>
|
||||
<Kern code="1061" val="-0.031944"/>
|
||||
<Kern code="1054" val="-0.031944"/>
|
||||
<Kern code="1060" val="-0.031944"/>
|
||||
<Kern code="1138" val="-0.031944"/>
|
||||
<Kern code="1057" val="-0.031944"/>
|
||||
<Kern code="1028" val="-0.031944"/>
|
||||
<Kern code="1058" val="-0.095833"/>
|
||||
<Kern code="1066" val="-0.095833"/>
|
||||
<Kern code="1026" val="-0.095833"/>
|
||||
<Kern code="1035" val="-0.095833"/>
|
||||
<Kern code="1122" val="-0.095833"/>
|
||||
<Kern code="1063" val="-0.095833"/>
|
||||
<Kern code="1059" val="-0.095833"/>
|
||||
<Kern code="1140" val="-0.127777"/>
|
||||
<Kern code="1090" val="-0.031944"/>
|
||||
<Kern code="1098" val="-0.031944"/>
|
||||
<Kern code="1123" val="-0.031944"/>
|
||||
<Kern code="1095" val="-0.095833"/>
|
||||
</Char>
|
||||
<Char code="1066" width="1.006938" height="0.686111" >
|
||||
<Kern code="1046" val="-0.031944"/>
|
||||
<Kern code="1061" val="-0.031944"/>
|
||||
<Kern code="1054" val="-0.031944"/>
|
||||
<Kern code="1060" val="-0.031944"/>
|
||||
<Kern code="1138" val="-0.031944"/>
|
||||
<Kern code="1057" val="-0.031944"/>
|
||||
<Kern code="1028" val="-0.031944"/>
|
||||
<Kern code="1058" val="-0.095833"/>
|
||||
<Kern code="1066" val="-0.095833"/>
|
||||
<Kern code="1026" val="-0.095833"/>
|
||||
<Kern code="1035" val="-0.095833"/>
|
||||
<Kern code="1122" val="-0.095833"/>
|
||||
<Kern code="1063" val="-0.095833"/>
|
||||
<Kern code="1059" val="-0.095833"/>
|
||||
<Kern code="1140" val="-0.127777"/>
|
||||
<Kern code="1090" val="-0.031944"/>
|
||||
<Kern code="1098" val="-0.031944"/>
|
||||
<Kern code="1123" val="-0.031944"/>
|
||||
<Kern code="1095" val="-0.095833"/>
|
||||
</Char>
|
||||
<Char code="1072" width="0.559024" height="0.444445" >
|
||||
<Kern code="1095" val="-0.031944"/>
|
||||
<Kern code="1091" val="-0.031944"/>
|
||||
<Kern code="1141" val="-0.031944"/>
|
||||
</Char>
|
||||
<Char code="1073" width="0.574997" height="0.694445" >
|
||||
<Kern code="1076" val="-0.031944"/>
|
||||
<Kern code="1078" val="-0.031944"/>
|
||||
<Kern code="1093" val="-0.031944"/>
|
||||
<Kern code="1103" val="-0.031944"/>
|
||||
</Char>
|
||||
<Char code="1094" width="0.6388855" height="0.444445" depth="0.162038" >
|
||||
<Lig code="1093" ligCode="1095"/>
|
||||
</Char>
|
||||
<Char code="1076" width="0.6388855" height="0.444445" depth="0.162038" >
|
||||
<Lig code="1112" ligCode="1106"/>
|
||||
</Char>
|
||||
<Char code="1077" width="0.5270815" height="0.444445" >
|
||||
</Char>
|
||||
<Char code="1092" width="0.89444" height="0.694445" depth="0.194445" >
|
||||
<Kern code="1076" val="-0.031944"/>
|
||||
<Kern code="1078" val="-0.031944"/>
|
||||
<Kern code="1093" val="-0.031944"/>
|
||||
<Kern code="1103" val="-0.031944"/>
|
||||
</Char>
|
||||
<Char code="1075" width="0.49583" height="0.444445" >
|
||||
<Kern code="1072" val="-0.031944"/>
|
||||
<Kern code="1076" val="-0.031944"/>
|
||||
<Kern code="1083" val="-0.031944"/>
|
||||
<Kern code="1113" val="-0.031944"/>
|
||||
<Kern code="1103" val="-0.031944"/>
|
||||
</Char>
|
||||
<Char code="1093" width="0.606941" height="0.444445" >
|
||||
<Kern code="1072" val="-0.031944"/>
|
||||
<Kern code="1086" val="-0.031944"/>
|
||||
<Kern code="1139" val="-0.031944"/>
|
||||
<Kern code="1089" val="-0.031944"/>
|
||||
<Kern code="1108" val="-0.031944"/>
|
||||
<Kern code="1077" val="-0.031944"/>
|
||||
<Kern code="1105" val="-0.031944"/>
|
||||
</Char>
|
||||
<Char code="1080" width="0.6388855" height="0.444445" >
|
||||
</Char>
|
||||
<Char code="1112" width="0.351387" height="0.694445" depth="0.194445" >
|
||||
</Char>
|
||||
<Char code="1082" width="0.6388855" height="0.444445" >
|
||||
<Lig code="1093" ligCode="1093"/>
|
||||
<Kern code="1072" val="-0.031944"/>
|
||||
<Kern code="1086" val="-0.031944"/>
|
||||
<Kern code="1139" val="-0.031944"/>
|
||||
<Kern code="1089" val="-0.031944"/>
|
||||
<Kern code="1108" val="-0.031944"/>
|
||||
<Kern code="1077" val="-0.031944"/>
|
||||
<Kern code="1105" val="-0.031944"/>
|
||||
</Char>
|
||||
<Char code="1083" width="0.6388855" height="0.444445" >
|
||||
<Lig code="1112" ligCode="1113"/>
|
||||
</Char>
|
||||
<Char code="1084" width="0.766663" height="0.444445" />
|
||||
<Char code="1085" width="0.6388855" height="0.444445" >
|
||||
<Lig code="1112" ligCode="1114"/>
|
||||
</Char>
|
||||
<Char code="1086" width="0.574997" height="0.444445" >
|
||||
<Kern code="1076" val="-0.031944"/>
|
||||
<Kern code="1078" val="-0.031944"/>
|
||||
<Kern code="1093" val="-0.031944"/>
|
||||
<Kern code="1103" val="-0.031944"/>
|
||||
</Char>
|
||||
<Char code="1087" width="0.6388855" height="0.444445" >
|
||||
</Char>
|
||||
<Char code="1095" width="0.6388855" height="0.444445" />
|
||||
<Char code="1088" width="0.6388855" height="0.444445" depth="0.194445" >
|
||||
<Kern code="1076" val="-0.031944"/>
|
||||
<Kern code="1078" val="-0.031944"/>
|
||||
<Kern code="1093" val="-0.031944"/>
|
||||
<Kern code="1103" val="-0.031944"/>
|
||||
</Char>
|
||||
<Char code="1089" width="0.511108" height="0.444445" >
|
||||
<Lig code="1093" ligCode="1096"/>
|
||||
<Kern code="1076" val="-0.031944"/>
|
||||
<Kern code="1078" val="-0.031944"/>
|
||||
<Kern code="1093" val="-0.031944"/>
|
||||
<Kern code="1103" val="-0.031944"/>
|
||||
</Char>
|
||||
<Char code="1090" width="0.544441" height="0.444445" >
|
||||
<Lig code="1089" ligCode="1094"/>
|
||||
<Kern code="1072" val="-0.031944"/>
|
||||
<Kern code="1076" val="-0.031944"/>
|
||||
<Kern code="1083" val="-0.031944"/>
|
||||
<Kern code="1113" val="-0.031944"/>
|
||||
<Kern code="1103" val="-0.031944"/>
|
||||
</Char>
|
||||
<Char code="1091" width="0.606941" height="0.444445" depth="0.194445" italic="0.015973" >
|
||||
<Kern code="1072" val="-0.031944"/>
|
||||
<Kern code="1086" val="-0.031944"/>
|
||||
<Kern code="1139" val="-0.031944"/>
|
||||
<Kern code="1089" val="-0.031944"/>
|
||||
<Kern code="1108" val="-0.031944"/>
|
||||
<Kern code="1077" val="-0.031944"/>
|
||||
<Kern code="1105" val="-0.031944"/>
|
||||
<Kern code="1103" val="-0.031944"/>
|
||||
<Kern code="1076" val="-0.063889"/>
|
||||
<Kern code="1083" val="-0.063889"/>
|
||||
<Kern code="1113" val="-0.063889"/>
|
||||
</Char>
|
||||
<Char code="1074" width="0.574997" height="0.444445" />
|
||||
<Char code="1097" width="0.941663" height="0.444445" depth="0.162038" />
|
||||
<Char code="1096" width="0.941663" height="0.444445" >
|
||||
<Lig code="1095" ligCode="1097"/>
|
||||
<Lig code="1094" ligCode="0"/>
|
||||
</Char>
|
||||
<Char code="1099" width="0.830551" height="0.444445" >
|
||||
<Lig code="1072" ligCode="1103"/>
|
||||
<Lig code="1091" ligCode="1102"/>
|
||||
</Char>
|
||||
<Char code="1079" width="0.511108" height="0.444445" italic="0.006389" >
|
||||
<Lig code="1093" ligCode="1078"/>
|
||||
</Char>
|
||||
<Char code="1100" width="0.574997" height="0.444445" >
|
||||
<Kern code="1091" val="-0.063889"/>
|
||||
<Kern code="1141" val="-0.063889"/>
|
||||
<Kern code="1090" val="-0.031944"/>
|
||||
<Kern code="1098" val="-0.031944"/>
|
||||
<Kern code="1123" val="-0.031944"/>
|
||||
<Kern code="1095" val="-0.095833"/>
|
||||
<Kern code="1086" val="-0.031944"/>
|
||||
<Kern code="1139" val="-0.031944"/>
|
||||
<Kern code="1092" val="-0.031944"/>
|
||||
<Kern code="1108" val="-0.031944"/>
|
||||
</Char>
|
||||
<Char code="1098" width="0.687495" height="0.444445" >
|
||||
<Kern code="1091" val="-0.063889"/>
|
||||
<Kern code="1141" val="-0.063889"/>
|
||||
<Kern code="1090" val="-0.031944"/>
|
||||
<Kern code="1098" val="-0.031944"/>
|
||||
<Kern code="1123" val="-0.031944"/>
|
||||
<Kern code="1095" val="-0.095833"/>
|
||||
<Kern code="1086" val="-0.031944"/>
|
||||
<Kern code="1139" val="-0.031944"/>
|
||||
<Kern code="1092" val="-0.031944"/>
|
||||
<Kern code="1108" val="-0.031944"/>
|
||||
</Char>
|
||||
</Font>
|
||||
|
||||
BIN
3rdparty/MicroTeX/res/cyrillic/wnbxti10.ttf
vendored
Normal file
BIN
3rdparty/MicroTeX/res/cyrillic/wnbxti10.ttf
vendored
Normal file
Binary file not shown.
707
3rdparty/MicroTeX/res/cyrillic/wnbxti10.xml
vendored
Normal file
707
3rdparty/MicroTeX/res/cyrillic/wnbxti10.xml
vendored
Normal file
@ -0,0 +1,707 @@
|
||||
<Font name="wnbxti10.ttf" id="wnbxti10" space="0.414441" xHeight="0.444445" quad="1.182211" unicode="95" romanVersion="wnbx10" ttVersion="wntt10" ssVersion="wnssbx10">
|
||||
<Char code="1034" width="1.198877" height="0.686111" italic="0.032991" >
|
||||
<Kern code="1046" val="-0.029445"/>
|
||||
<Kern code="1061" val="-0.029445"/>
|
||||
<Kern code="1054" val="-0.029445"/>
|
||||
<Kern code="1060" val="-0.029445"/>
|
||||
<Kern code="1138" val="-0.029445"/>
|
||||
<Kern code="1057" val="-0.029445"/>
|
||||
<Kern code="1028" val="-0.029445"/>
|
||||
<Kern code="1058" val="-0.088333"/>
|
||||
<Kern code="1066" val="-0.088333"/>
|
||||
<Kern code="1026" val="-0.088333"/>
|
||||
<Kern code="1035" val="-0.088333"/>
|
||||
<Kern code="1122" val="-0.088333"/>
|
||||
<Kern code="1063" val="-0.088333"/>
|
||||
<Kern code="1059" val="-0.088333"/>
|
||||
<Kern code="1140" val="-0.117777"/>
|
||||
<Kern code="1098" val="-0.029445"/>
|
||||
<Kern code="1141" val="-0.029445"/>
|
||||
<Kern code="1082" val="-0.029445"/>
|
||||
<Kern code="1085" val="-0.029445"/>
|
||||
<Kern code="1114" val="-0.029445"/>
|
||||
<Kern code="1087" val="-0.029445"/>
|
||||
<Kern code="1090" val="-0.029445"/>
|
||||
<Kern code="1102" val="-0.029445"/>
|
||||
<Kern code="1123" val="-0.029445"/>
|
||||
<Kern code="1110" val="-0.029445"/>
|
||||
<Kern code="1080" val="-0.029445"/>
|
||||
<Kern code="1081" val="-0.029445"/>
|
||||
<Kern code="1094" val="-0.029445"/>
|
||||
<Kern code="1096" val="-0.029445"/>
|
||||
<Kern code="1097" val="-0.029445"/>
|
||||
<Kern code="1100" val="-0.029445"/>
|
||||
<Kern code="1099" val="-0.029445"/>
|
||||
<Kern code="1091" val="-0.029445"/>
|
||||
</Char>
|
||||
<Char code="1033" width="1.198877" height="0.686111" italic="0.032991" >
|
||||
<Kern code="1046" val="-0.029445"/>
|
||||
<Kern code="1061" val="-0.029445"/>
|
||||
<Kern code="1054" val="-0.029445"/>
|
||||
<Kern code="1060" val="-0.029445"/>
|
||||
<Kern code="1138" val="-0.029445"/>
|
||||
<Kern code="1057" val="-0.029445"/>
|
||||
<Kern code="1028" val="-0.029445"/>
|
||||
<Kern code="1058" val="-0.088333"/>
|
||||
<Kern code="1066" val="-0.088333"/>
|
||||
<Kern code="1026" val="-0.088333"/>
|
||||
<Kern code="1035" val="-0.088333"/>
|
||||
<Kern code="1122" val="-0.088333"/>
|
||||
<Kern code="1063" val="-0.088333"/>
|
||||
<Kern code="1059" val="-0.088333"/>
|
||||
<Kern code="1140" val="-0.117777"/>
|
||||
<Kern code="1098" val="-0.029445"/>
|
||||
<Kern code="1141" val="-0.029445"/>
|
||||
<Kern code="1082" val="-0.029445"/>
|
||||
<Kern code="1085" val="-0.029445"/>
|
||||
<Kern code="1114" val="-0.029445"/>
|
||||
<Kern code="1087" val="-0.029445"/>
|
||||
<Kern code="1090" val="-0.029445"/>
|
||||
<Kern code="1102" val="-0.029445"/>
|
||||
<Kern code="1123" val="-0.029445"/>
|
||||
<Kern code="1110" val="-0.029445"/>
|
||||
<Kern code="1080" val="-0.029445"/>
|
||||
<Kern code="1081" val="-0.029445"/>
|
||||
<Kern code="1094" val="-0.029445"/>
|
||||
<Kern code="1096" val="-0.029445"/>
|
||||
<Kern code="1097" val="-0.029445"/>
|
||||
<Kern code="1100" val="-0.029445"/>
|
||||
<Kern code="1099" val="-0.029445"/>
|
||||
<Kern code="1091" val="-0.029445"/>
|
||||
</Char>
|
||||
<Char code="1039" width="0.894992" height="0.686111" depth="0.194445" italic="0.172084" />
|
||||
<Char code="1069" width="0.826658" height="0.686111" italic="0.090625" >
|
||||
<Kern code="1040" val="-0.029445"/>
|
||||
<Kern code="1044" val="-0.029445"/>
|
||||
<Kern code="1046" val="-0.029445"/>
|
||||
<Kern code="1061" val="-0.029445"/>
|
||||
<Kern code="1059" val="-0.029445"/>
|
||||
<Kern code="1140" val="-0.029445"/>
|
||||
<Kern code="1071" val="-0.029445"/>
|
||||
</Char>
|
||||
<Char code="1030" width="0.471664" height="0.686111" italic="0.156807" >
|
||||
<Kern code="1030" val="0.029445"/>
|
||||
</Char>
|
||||
<Char code="1028" width="0.826658" height="0.686111" italic="0.142084" />
|
||||
<Char code="1026" width="0.943324" height="0.686111" italic="0.12903" >
|
||||
<Kern code="1046" val="-0.029445"/>
|
||||
<Kern code="1061" val="-0.029445"/>
|
||||
<Kern code="1054" val="-0.029445"/>
|
||||
<Kern code="1060" val="-0.029445"/>
|
||||
<Kern code="1138" val="-0.029445"/>
|
||||
<Kern code="1057" val="-0.029445"/>
|
||||
<Kern code="1028" val="-0.029445"/>
|
||||
<Kern code="1058" val="-0.088333"/>
|
||||
<Kern code="1066" val="-0.088333"/>
|
||||
<Kern code="1026" val="-0.088333"/>
|
||||
<Kern code="1035" val="-0.088333"/>
|
||||
<Kern code="1122" val="-0.088333"/>
|
||||
<Kern code="1063" val="-0.088333"/>
|
||||
<Kern code="1059" val="-0.088333"/>
|
||||
<Kern code="1140" val="-0.117777"/>
|
||||
<Kern code="1098" val="-0.029445"/>
|
||||
<Kern code="1141" val="-0.029445"/>
|
||||
<Kern code="1082" val="-0.029445"/>
|
||||
<Kern code="1085" val="-0.029445"/>
|
||||
<Kern code="1114" val="-0.029445"/>
|
||||
<Kern code="1087" val="-0.029445"/>
|
||||
<Kern code="1090" val="-0.029445"/>
|
||||
<Kern code="1102" val="-0.029445"/>
|
||||
<Kern code="1123" val="-0.029445"/>
|
||||
<Kern code="1110" val="-0.029445"/>
|
||||
<Kern code="1080" val="-0.029445"/>
|
||||
<Kern code="1081" val="-0.029445"/>
|
||||
<Kern code="1094" val="-0.029445"/>
|
||||
<Kern code="1096" val="-0.029445"/>
|
||||
<Kern code="1097" val="-0.029445"/>
|
||||
<Kern code="1100" val="-0.029445"/>
|
||||
<Kern code="1099" val="-0.029445"/>
|
||||
<Kern code="1091" val="-0.029445"/>
|
||||
</Char>
|
||||
<Char code="1035" width="0.870825" height="0.686111" italic="0.084864" />
|
||||
<Char code="1114" width="0.82666" height="0.444445" italic="0.078611" >
|
||||
<Kern code="1083" val="-0.029445"/>
|
||||
<Kern code="1084" val="-0.029445"/>
|
||||
<Kern code="1113" val="-0.029445"/>
|
||||
<Kern code="1141" val="-0.029445"/>
|
||||
<Kern code="1098" val="-0.029445"/>
|
||||
<Kern code="1095" val="-0.088333"/>
|
||||
<Kern code="1086" val="-0.029445"/>
|
||||
<Kern code="1139" val="-0.029445"/>
|
||||
<Kern code="1092" val="-0.029445"/>
|
||||
<Kern code="1108" val="-0.029445"/>
|
||||
</Char>
|
||||
<Char code="1113" width="0.797215" height="0.444445" italic="0.078611" >
|
||||
<Kern code="1083" val="-0.029445"/>
|
||||
<Kern code="1084" val="-0.029445"/>
|
||||
<Kern code="1113" val="-0.029445"/>
|
||||
<Kern code="1141" val="-0.029445"/>
|
||||
<Kern code="1098" val="-0.029445"/>
|
||||
<Kern code="1095" val="-0.088333"/>
|
||||
<Kern code="1086" val="-0.029445"/>
|
||||
<Kern code="1139" val="-0.029445"/>
|
||||
<Kern code="1092" val="-0.029445"/>
|
||||
<Kern code="1108" val="-0.029445"/>
|
||||
</Char>
|
||||
<Char code="1119" width="0.62055" height="0.444445" depth="0.194445" italic="0.094261" />
|
||||
<Char code="1101" width="0.511606" height="0.444445" italic="0.078611" >
|
||||
<Kern code="1092" val="-0.058888"/>
|
||||
<Kern code="1072" val="-0.058888"/>
|
||||
<Kern code="1083" val="-0.029445"/>
|
||||
<Kern code="1084" val="-0.029445"/>
|
||||
<Kern code="1113" val="-0.029445"/>
|
||||
</Char>
|
||||
<Char code="1110" width="0.355553" height="0.693255" italic="0.113872" />
|
||||
<Char code="1108" width="0.511606" height="0.444445" italic="0.081667" />
|
||||
<Char code="1106" width="0.532217" height="0.694445" depth="0.194445" italic="0.077777" />
|
||||
<Char code="1115" width="0.591105" height="0.694445" italic="0.094261" />
|
||||
<Char code="1070" width="1.236933" height="0.686111" italic="0.090625" >
|
||||
<Kern code="1040" val="-0.029445"/>
|
||||
<Kern code="1044" val="-0.029445"/>
|
||||
<Kern code="1046" val="-0.029445"/>
|
||||
<Kern code="1061" val="-0.029445"/>
|
||||
<Kern code="1059" val="-0.029445"/>
|
||||
<Kern code="1140" val="-0.029445"/>
|
||||
<Kern code="1071" val="-0.029445"/>
|
||||
</Char>
|
||||
<Char code="1046" width="1.318319" height="0.686111" italic="0.142084" >
|
||||
<Kern code="1054" val="-0.029445"/>
|
||||
<Kern code="1060" val="-0.029445"/>
|
||||
<Kern code="1138" val="-0.029445"/>
|
||||
<Kern code="1057" val="-0.029445"/>
|
||||
<Kern code="1028" val="-0.029445"/>
|
||||
<Kern code="1095" val="-0.029445"/>
|
||||
</Char>
|
||||
<Char code="1049" width="0.894992" height="0.894394" italic="0.172084" />
|
||||
<Char code="1025" width="0.756659" height="0.894394" italic="0.114306" />
|
||||
<Char code="1140" width="0.934436" height="0.686111" italic="0.186251" >
|
||||
<Kern code="1040" val="-0.117777"/>
|
||||
<Kern code="1071" val="-0.117777"/>
|
||||
<Kern code="1054" val="-0.029445"/>
|
||||
<Kern code="1060" val="-0.029445"/>
|
||||
<Kern code="1138" val="-0.029445"/>
|
||||
<Kern code="1057" val="-0.029445"/>
|
||||
<Kern code="1028" val="-0.029445"/>
|
||||
<Kern code="1072" val="-0.088333"/>
|
||||
<Kern code="1086" val="-0.088333"/>
|
||||
<Kern code="1139" val="-0.088333"/>
|
||||
<Kern code="1077" val="-0.088333"/>
|
||||
<Kern code="1105" val="-0.088333"/>
|
||||
<Kern code="1080" val="-0.117777"/>
|
||||
<Kern code="1081" val="-0.117777"/>
|
||||
<Kern code="1094" val="-0.117777"/>
|
||||
<Kern code="1096" val="-0.117777"/>
|
||||
<Kern code="1097" val="-0.117777"/>
|
||||
<Kern code="1100" val="-0.117777"/>
|
||||
<Kern code="1099" val="-0.117777"/>
|
||||
<Kern code="1091" val="-0.117777"/>
|
||||
<Kern code="1141" val="-0.117777"/>
|
||||
<Kern code="1098" val="-0.117777"/>
|
||||
<Kern code="1083" val="-0.117777"/>
|
||||
<Kern code="1084" val="-0.117777"/>
|
||||
<Kern code="1113" val="-0.117777"/>
|
||||
</Char>
|
||||
<Char code="1138" width="0.885547" height="0.686111" italic="0.090625" >
|
||||
<Kern code="1040" val="-0.029445"/>
|
||||
<Kern code="1044" val="-0.029445"/>
|
||||
<Kern code="1046" val="-0.029445"/>
|
||||
<Kern code="1061" val="-0.029445"/>
|
||||
<Kern code="1059" val="-0.029445"/>
|
||||
<Kern code="1140" val="-0.029445"/>
|
||||
<Kern code="1071" val="-0.029445"/>
|
||||
</Char>
|
||||
<Char code="1029" width="0.649994" height="0.686111" italic="0.11264" />
|
||||
<Char code="1071" width="0.894992" height="0.686111" italic="0.172084" />
|
||||
<Char code="1102" width="0.835492" height="0.444445" italic="0.078611" >
|
||||
<Kern code="1092" val="-0.058888"/>
|
||||
<Kern code="1072" val="-0.058888"/>
|
||||
<Kern code="1083" val="-0.029445"/>
|
||||
<Kern code="1084" val="-0.029445"/>
|
||||
<Kern code="1113" val="-0.029445"/>
|
||||
</Char>
|
||||
<Char code="1078" width="1.209432" height="0.444445" italic="0.052223" />
|
||||
<Char code="1081" width="0.649994" height="0.652727" italic="0.094261" />
|
||||
<Char code="1105" width="0.511606" height="0.686111" italic="0.085002" >
|
||||
<Kern code="1092" val="-0.058888"/>
|
||||
<Kern code="1072" val="-0.058888"/>
|
||||
<Kern code="1083" val="-0.029445"/>
|
||||
<Kern code="1084" val="-0.029445"/>
|
||||
<Kern code="1113" val="-0.029445"/>
|
||||
</Char>
|
||||
<Char code="1141" width="0.723051" height="0.444445" italic="0.1258335" >
|
||||
<Kern code="1083" val="-0.088333"/>
|
||||
<Kern code="1084" val="-0.088333"/>
|
||||
<Kern code="1113" val="-0.088333"/>
|
||||
</Char>
|
||||
<Char code="1139" width="0.532217" height="0.444445" italic="0.078611" >
|
||||
<Kern code="1092" val="-0.058888"/>
|
||||
<Kern code="1072" val="-0.058888"/>
|
||||
<Kern code="1083" val="-0.029445"/>
|
||||
<Kern code="1084" val="-0.029445"/>
|
||||
<Kern code="1113" val="-0.029445"/>
|
||||
</Char>
|
||||
<Char code="1109" width="0.486941" height="0.444445" italic="0.081667" />
|
||||
<Char code="1103" width="0.62055" height="0.444445" italic="0.094261" />
|
||||
<Char code="776" width="0.591105" height="0.686111" italic="0.112642" />
|
||||
<Char code="1122" width="0.934436" height="0.75" italic="0.099202" >
|
||||
<Kern code="1046" val="-0.029445"/>
|
||||
<Kern code="1061" val="-0.029445"/>
|
||||
<Kern code="1054" val="-0.029445"/>
|
||||
<Kern code="1060" val="-0.029445"/>
|
||||
<Kern code="1138" val="-0.029445"/>
|
||||
<Kern code="1057" val="-0.029445"/>
|
||||
<Kern code="1028" val="-0.029445"/>
|
||||
<Kern code="1058" val="-0.088333"/>
|
||||
<Kern code="1066" val="-0.088333"/>
|
||||
<Kern code="1026" val="-0.088333"/>
|
||||
<Kern code="1035" val="-0.088333"/>
|
||||
<Kern code="1122" val="-0.088333"/>
|
||||
<Kern code="1063" val="-0.088333"/>
|
||||
<Kern code="1059" val="-0.088333"/>
|
||||
<Kern code="1140" val="-0.117777"/>
|
||||
<Kern code="1098" val="-0.029445"/>
|
||||
<Kern code="1141" val="-0.029445"/>
|
||||
<Kern code="1082" val="-0.029445"/>
|
||||
<Kern code="1085" val="-0.029445"/>
|
||||
<Kern code="1114" val="-0.029445"/>
|
||||
<Kern code="1087" val="-0.029445"/>
|
||||
<Kern code="1090" val="-0.029445"/>
|
||||
<Kern code="1102" val="-0.029445"/>
|
||||
<Kern code="1123" val="-0.029445"/>
|
||||
<Kern code="1110" val="-0.029445"/>
|
||||
<Kern code="1080" val="-0.029445"/>
|
||||
<Kern code="1081" val="-0.029445"/>
|
||||
<Kern code="1094" val="-0.029445"/>
|
||||
<Kern code="1096" val="-0.029445"/>
|
||||
<Kern code="1097" val="-0.029445"/>
|
||||
<Kern code="1100" val="-0.029445"/>
|
||||
<Kern code="1099" val="-0.029445"/>
|
||||
<Kern code="1091" val="-0.029445"/>
|
||||
</Char>
|
||||
<Char code="774" width="0.591105" height="0.652727" italic="0.092905" />
|
||||
<Char code="1123" width="0.826658" height="0.444445" italic="0.078611" >
|
||||
<Kern code="1083" val="-0.029445"/>
|
||||
<Kern code="1084" val="-0.029445"/>
|
||||
<Kern code="1113" val="-0.029445"/>
|
||||
<Kern code="1141" val="-0.029445"/>
|
||||
<Kern code="1098" val="-0.029445"/>
|
||||
<Kern code="1095" val="-0.088333"/>
|
||||
<Kern code="1086" val="-0.029445"/>
|
||||
<Kern code="1139" val="-0.029445"/>
|
||||
<Kern code="1092" val="-0.029445"/>
|
||||
<Kern code="1108" val="-0.029445"/>
|
||||
</Char>
|
||||
<Char code="171" width="0.649994" height="0.472223" italic="0.008611" />
|
||||
<Char code="305" width="0.355553" height="0.444445" italic="0.094261" />
|
||||
<Char code="187" width="0.649994" height="0.472223" />
|
||||
<Char code="1040" width="0.865547" height="0.686111" >
|
||||
<Kern code="1054" val="-0.029445"/>
|
||||
<Kern code="1060" val="-0.029445"/>
|
||||
<Kern code="1138" val="-0.029445"/>
|
||||
<Kern code="1057" val="-0.029445"/>
|
||||
<Kern code="1028" val="-0.029445"/>
|
||||
<Kern code="1058" val="-0.088333"/>
|
||||
<Kern code="1066" val="-0.088333"/>
|
||||
<Kern code="1026" val="-0.088333"/>
|
||||
<Kern code="1035" val="-0.088333"/>
|
||||
<Kern code="1122" val="-0.088333"/>
|
||||
<Kern code="1063" val="-0.088333"/>
|
||||
<Kern code="1059" val="-0.088333"/>
|
||||
<Kern code="1140" val="-0.117777"/>
|
||||
<Kern code="1098" val="-0.029445"/>
|
||||
<Kern code="1141" val="-0.029445"/>
|
||||
<Kern code="1082" val="-0.029445"/>
|
||||
<Kern code="1085" val="-0.029445"/>
|
||||
<Kern code="1114" val="-0.029445"/>
|
||||
<Kern code="1087" val="-0.029445"/>
|
||||
<Kern code="1090" val="-0.029445"/>
|
||||
<Kern code="1102" val="-0.029445"/>
|
||||
<Kern code="1123" val="-0.029445"/>
|
||||
<Kern code="1110" val="-0.029445"/>
|
||||
<Kern code="1080" val="-0.029445"/>
|
||||
<Kern code="1081" val="-0.029445"/>
|
||||
<Kern code="1094" val="-0.029445"/>
|
||||
<Kern code="1096" val="-0.029445"/>
|
||||
<Kern code="1097" val="-0.029445"/>
|
||||
<Kern code="1100" val="-0.029445"/>
|
||||
<Kern code="1099" val="-0.029445"/>
|
||||
<Kern code="1091" val="-0.029445"/>
|
||||
</Char>
|
||||
<Char code="1041" width="0.81666" height="0.686111" italic="0.055418" />
|
||||
<Char code="1062" width="0.894992" height="0.686111" depth="0.194445" italic="0.172084" >
|
||||
<Lig code="1061" ligCode="1063"/>
|
||||
<Lig code="1093" ligCode="1063"/>
|
||||
</Char>
|
||||
<Char code="1044" width="0.894992" height="0.686111" depth="0.194445" italic="0.172084" >
|
||||
<Lig code="1032" ligCode="1026"/>
|
||||
<Lig code="1112" ligCode="1026"/>
|
||||
</Char>
|
||||
<Char code="1045" width="0.756659" height="0.686111" italic="0.114306" >
|
||||
</Char>
|
||||
<Char code="1060" width="0.944435" height="0.686111" italic="0.090625" >
|
||||
<Kern code="1040" val="-0.029445"/>
|
||||
<Kern code="1044" val="-0.029445"/>
|
||||
<Kern code="1046" val="-0.029445"/>
|
||||
<Kern code="1061" val="-0.029445"/>
|
||||
<Kern code="1059" val="-0.029445"/>
|
||||
<Kern code="1140" val="-0.029445"/>
|
||||
<Kern code="1071" val="-0.029445"/>
|
||||
</Char>
|
||||
<Char code="1043" width="0.697771" height="0.686111" italic="0.12903" >
|
||||
<Kern code="1040" val="-0.088333"/>
|
||||
<Kern code="1044" val="-0.088333"/>
|
||||
<Kern code="1071" val="-0.088333"/>
|
||||
<Kern code="1051" val="-0.029445"/>
|
||||
<Kern code="1033" val="-0.029445"/>
|
||||
<Kern code="1072" val="-0.088333"/>
|
||||
<Kern code="1086" val="-0.088333"/>
|
||||
<Kern code="1139" val="-0.088333"/>
|
||||
<Kern code="1077" val="-0.088333"/>
|
||||
<Kern code="1105" val="-0.088333"/>
|
||||
<Kern code="1089" val="-0.088333"/>
|
||||
<Kern code="1108" val="-0.088333"/>
|
||||
<Kern code="1092" val="-0.088333"/>
|
||||
<Kern code="1080" val="-0.088333"/>
|
||||
<Kern code="1081" val="-0.088333"/>
|
||||
<Kern code="1094" val="-0.088333"/>
|
||||
<Kern code="1096" val="-0.088333"/>
|
||||
<Kern code="1097" val="-0.088333"/>
|
||||
<Kern code="1100" val="-0.088333"/>
|
||||
<Kern code="1099" val="-0.088333"/>
|
||||
<Kern code="1091" val="-0.088333"/>
|
||||
<Kern code="1141" val="-0.088333"/>
|
||||
<Kern code="1098" val="-0.088333"/>
|
||||
<Kern code="1083" val="-0.088333"/>
|
||||
<Kern code="1084" val="-0.088333"/>
|
||||
<Kern code="1113" val="-0.088333"/>
|
||||
</Char>
|
||||
<Char code="1061" width="0.865547" height="0.686111" italic="0.156807" >
|
||||
<Kern code="1054" val="-0.029445"/>
|
||||
<Kern code="1060" val="-0.029445"/>
|
||||
<Kern code="1138" val="-0.029445"/>
|
||||
<Kern code="1057" val="-0.029445"/>
|
||||
<Kern code="1028" val="-0.029445"/>
|
||||
<Kern code="1095" val="-0.029445"/>
|
||||
</Char>
|
||||
<Char code="1048" width="0.894992" height="0.686111" italic="0.172084" >
|
||||
</Char>
|
||||
<Char code="1032" width="0.61055" height="0.686111" italic="0.145001" >
|
||||
</Char>
|
||||
<Char code="1050" width="0.894992" height="0.686111" italic="0.142084" >
|
||||
<Lig code="1061" ligCode="1061"/>
|
||||
<Lig code="1093" ligCode="1061"/>
|
||||
<Kern code="1054" val="-0.029445"/>
|
||||
<Kern code="1060" val="-0.029445"/>
|
||||
<Kern code="1138" val="-0.029445"/>
|
||||
<Kern code="1057" val="-0.029445"/>
|
||||
<Kern code="1028" val="-0.029445"/>
|
||||
<Kern code="1095" val="-0.029445"/>
|
||||
</Char>
|
||||
<Char code="1051" width="0.894992" height="0.686111" italic="0.172084" >
|
||||
<Lig code="1032" ligCode="1033"/>
|
||||
<Lig code="1112" ligCode="1033"/>
|
||||
</Char>
|
||||
<Char code="1052" width="1.072767" height="0.686111" italic="0.172084" />
|
||||
<Char code="1053" width="0.894992" height="0.686111" italic="0.172084" >
|
||||
<Lig code="1032" ligCode="1034"/>
|
||||
<Lig code="1112" ligCode="1034"/>
|
||||
</Char>
|
||||
<Char code="1054" width="0.854991" height="0.686111" italic="0.090625" >
|
||||
<Kern code="1040" val="-0.029445"/>
|
||||
<Kern code="1044" val="-0.029445"/>
|
||||
<Kern code="1046" val="-0.029445"/>
|
||||
<Kern code="1061" val="-0.029445"/>
|
||||
<Kern code="1059" val="-0.029445"/>
|
||||
<Kern code="1140" val="-0.029445"/>
|
||||
<Kern code="1071" val="-0.029445"/>
|
||||
</Char>
|
||||
<Char code="1055" width="0.894992" height="0.686111" italic="0.172084" >
|
||||
</Char>
|
||||
<Char code="1063" width="0.894992" height="0.686111" italic="0.172084" />
|
||||
<Char code="1056" width="0.787214" height="0.686111" italic="0.099202" >
|
||||
<Kern code="1040" val="-0.088333"/>
|
||||
<Kern code="1044" val="-0.088333"/>
|
||||
<Kern code="1051" val="-0.088333"/>
|
||||
<Kern code="1033" val="-0.088333"/>
|
||||
<Kern code="1071" val="-0.088333"/>
|
||||
<Kern code="1072" val="-0.029445"/>
|
||||
<Kern code="1086" val="-0.029445"/>
|
||||
<Kern code="1139" val="-0.029445"/>
|
||||
<Kern code="1077" val="-0.029445"/>
|
||||
<Kern code="1105" val="-0.029445"/>
|
||||
<Kern code="1076" val="-0.088333"/>
|
||||
<Kern code="1083" val="-0.088333"/>
|
||||
<Kern code="1113" val="-0.088333"/>
|
||||
</Char>
|
||||
<Char code="1057" width="0.826658" height="0.686111" italic="0.142084" >
|
||||
<Lig code="1061" ligCode="1064"/>
|
||||
<Lig code="1093" ligCode="1064"/>
|
||||
</Char>
|
||||
<Char code="1058" width="0.796103" height="0.686111" italic="0.12903" >
|
||||
<Lig code="1057" ligCode="1062"/>
|
||||
<Lig code="1089" ligCode="1062"/>
|
||||
<Kern code="1040" val="-0.088333"/>
|
||||
<Kern code="1044" val="-0.088333"/>
|
||||
<Kern code="1071" val="-0.088333"/>
|
||||
<Kern code="1051" val="-0.029445"/>
|
||||
<Kern code="1033" val="-0.029445"/>
|
||||
<Kern code="1072" val="-0.088333"/>
|
||||
<Kern code="1086" val="-0.088333"/>
|
||||
<Kern code="1139" val="-0.088333"/>
|
||||
<Kern code="1077" val="-0.088333"/>
|
||||
<Kern code="1105" val="-0.088333"/>
|
||||
<Kern code="1089" val="-0.088333"/>
|
||||
<Kern code="1108" val="-0.088333"/>
|
||||
<Kern code="1092" val="-0.088333"/>
|
||||
<Kern code="1080" val="-0.088333"/>
|
||||
<Kern code="1081" val="-0.088333"/>
|
||||
<Kern code="1094" val="-0.088333"/>
|
||||
<Kern code="1096" val="-0.088333"/>
|
||||
<Kern code="1097" val="-0.088333"/>
|
||||
<Kern code="1100" val="-0.088333"/>
|
||||
<Kern code="1099" val="-0.088333"/>
|
||||
<Kern code="1091" val="-0.088333"/>
|
||||
<Kern code="1141" val="-0.088333"/>
|
||||
<Kern code="1098" val="-0.088333"/>
|
||||
<Kern code="1083" val="-0.088333"/>
|
||||
<Kern code="1084" val="-0.088333"/>
|
||||
<Kern code="1113" val="-0.088333"/>
|
||||
</Char>
|
||||
<Char code="1059" width="0.865547" height="0.686111" italic="0.186251" >
|
||||
<Kern code="1040" val="-0.088333"/>
|
||||
<Kern code="1071" val="-0.088333"/>
|
||||
<Kern code="1044" val="-0.058888"/>
|
||||
<Kern code="1051" val="-0.058888"/>
|
||||
<Kern code="1033" val="-0.058888"/>
|
||||
<Kern code="1054" val="-0.029445"/>
|
||||
<Kern code="1060" val="-0.029445"/>
|
||||
<Kern code="1138" val="-0.029445"/>
|
||||
<Kern code="1057" val="-0.029445"/>
|
||||
<Kern code="1028" val="-0.029445"/>
|
||||
<Kern code="1072" val="-0.088333"/>
|
||||
<Kern code="1086" val="-0.088333"/>
|
||||
<Kern code="1139" val="-0.088333"/>
|
||||
<Kern code="1077" val="-0.088333"/>
|
||||
<Kern code="1105" val="-0.088333"/>
|
||||
<Kern code="1089" val="-0.088333"/>
|
||||
<Kern code="1108" val="-0.088333"/>
|
||||
<Kern code="1080" val="-0.117777"/>
|
||||
<Kern code="1081" val="-0.117777"/>
|
||||
<Kern code="1094" val="-0.117777"/>
|
||||
<Kern code="1096" val="-0.117777"/>
|
||||
<Kern code="1097" val="-0.117777"/>
|
||||
<Kern code="1100" val="-0.117777"/>
|
||||
<Kern code="1099" val="-0.117777"/>
|
||||
<Kern code="1091" val="-0.117777"/>
|
||||
<Kern code="1141" val="-0.117777"/>
|
||||
<Kern code="1098" val="-0.117777"/>
|
||||
<Kern code="1083" val="-0.117777"/>
|
||||
<Kern code="1084" val="-0.117777"/>
|
||||
<Kern code="1113" val="-0.117777"/>
|
||||
</Char>
|
||||
<Char code="1042" width="0.81666" height="0.686111" italic="0.069758" />
|
||||
<Char code="1065" width="1.293599" height="0.686111" depth="0.194445" italic="0.172084" />
|
||||
<Char code="1064" width="1.293599" height="0.686111" italic="0.172084" >
|
||||
<Lig code="1063" ligCode="1065"/>
|
||||
<Lig code="1095" ligCode="1065"/>
|
||||
<Lig code="1062" ligCode="0"/>
|
||||
<Lig code="1094" ligCode="0"/>
|
||||
</Char>
|
||||
<Char code="1067" width="1.101102" height="0.686111" italic="0.172084" >
|
||||
<Lig code="1040" ligCode="1071"/>
|
||||
<Lig code="1072" ligCode="1071"/>
|
||||
<Lig code="1059" ligCode="1070"/>
|
||||
<Lig code="1091" ligCode="1070"/>
|
||||
</Char>
|
||||
<Char code="1047" width="0.708882" height="0.686111" italic="0.099202" >
|
||||
<Lig code="1061" ligCode="1046"/>
|
||||
<Lig code="1093" ligCode="1046"/>
|
||||
</Char>
|
||||
<Char code="1068" width="0.81666" height="0.686111" italic="0.032991" >
|
||||
<Kern code="1046" val="-0.029445"/>
|
||||
<Kern code="1061" val="-0.029445"/>
|
||||
<Kern code="1054" val="-0.029445"/>
|
||||
<Kern code="1060" val="-0.029445"/>
|
||||
<Kern code="1138" val="-0.029445"/>
|
||||
<Kern code="1057" val="-0.029445"/>
|
||||
<Kern code="1028" val="-0.029445"/>
|
||||
<Kern code="1058" val="-0.088333"/>
|
||||
<Kern code="1066" val="-0.088333"/>
|
||||
<Kern code="1026" val="-0.088333"/>
|
||||
<Kern code="1035" val="-0.088333"/>
|
||||
<Kern code="1122" val="-0.088333"/>
|
||||
<Kern code="1063" val="-0.088333"/>
|
||||
<Kern code="1059" val="-0.088333"/>
|
||||
<Kern code="1140" val="-0.117777"/>
|
||||
<Kern code="1098" val="-0.029445"/>
|
||||
<Kern code="1141" val="-0.029445"/>
|
||||
<Kern code="1082" val="-0.029445"/>
|
||||
<Kern code="1085" val="-0.029445"/>
|
||||
<Kern code="1114" val="-0.029445"/>
|
||||
<Kern code="1087" val="-0.029445"/>
|
||||
<Kern code="1090" val="-0.029445"/>
|
||||
<Kern code="1102" val="-0.029445"/>
|
||||
<Kern code="1123" val="-0.029445"/>
|
||||
<Kern code="1110" val="-0.029445"/>
|
||||
<Kern code="1080" val="-0.029445"/>
|
||||
<Kern code="1081" val="-0.029445"/>
|
||||
<Kern code="1094" val="-0.029445"/>
|
||||
<Kern code="1096" val="-0.029445"/>
|
||||
<Kern code="1097" val="-0.029445"/>
|
||||
<Kern code="1100" val="-0.029445"/>
|
||||
<Kern code="1099" val="-0.029445"/>
|
||||
<Kern code="1091" val="-0.029445"/>
|
||||
</Char>
|
||||
<Char code="1066" width="0.988047" height="0.686111" italic="0.032991" >
|
||||
<Kern code="1046" val="-0.029445"/>
|
||||
<Kern code="1061" val="-0.029445"/>
|
||||
<Kern code="1054" val="-0.029445"/>
|
||||
<Kern code="1060" val="-0.029445"/>
|
||||
<Kern code="1138" val="-0.029445"/>
|
||||
<Kern code="1057" val="-0.029445"/>
|
||||
<Kern code="1028" val="-0.029445"/>
|
||||
<Kern code="1058" val="-0.088333"/>
|
||||
<Kern code="1066" val="-0.088333"/>
|
||||
<Kern code="1026" val="-0.088333"/>
|
||||
<Kern code="1035" val="-0.088333"/>
|
||||
<Kern code="1122" val="-0.088333"/>
|
||||
<Kern code="1063" val="-0.088333"/>
|
||||
<Kern code="1059" val="-0.088333"/>
|
||||
<Kern code="1140" val="-0.117777"/>
|
||||
<Kern code="1098" val="-0.029445"/>
|
||||
<Kern code="1141" val="-0.029445"/>
|
||||
<Kern code="1082" val="-0.029445"/>
|
||||
<Kern code="1085" val="-0.029445"/>
|
||||
<Kern code="1114" val="-0.029445"/>
|
||||
<Kern code="1087" val="-0.029445"/>
|
||||
<Kern code="1090" val="-0.029445"/>
|
||||
<Kern code="1102" val="-0.029445"/>
|
||||
<Kern code="1123" val="-0.029445"/>
|
||||
<Kern code="1110" val="-0.029445"/>
|
||||
<Kern code="1080" val="-0.029445"/>
|
||||
<Kern code="1081" val="-0.029445"/>
|
||||
<Kern code="1094" val="-0.029445"/>
|
||||
<Kern code="1096" val="-0.029445"/>
|
||||
<Kern code="1097" val="-0.029445"/>
|
||||
<Kern code="1100" val="-0.029445"/>
|
||||
<Kern code="1099" val="-0.029445"/>
|
||||
<Kern code="1091" val="-0.029445"/>
|
||||
</Char>
|
||||
<Char code="1072" width="0.570494" height="0.444445" italic="0.094261" />
|
||||
<Char code="1073" width="0.549883" height="0.694445" italic="0.167501" >
|
||||
<Kern code="1092" val="-0.058888"/>
|
||||
<Kern code="1072" val="-0.058888"/>
|
||||
<Kern code="1083" val="-0.029445"/>
|
||||
<Kern code="1084" val="-0.029445"/>
|
||||
<Kern code="1113" val="-0.029445"/>
|
||||
</Char>
|
||||
<Char code="1094" width="0.655884" height="0.444445" depth="0.194445" italic="0.094261" >
|
||||
<Lig code="1093" ligCode="1095"/>
|
||||
</Char>
|
||||
<Char code="1076" width="0.549883" height="0.694445" italic="0.112694" >
|
||||
<Lig code="1112" ligCode="1106"/>
|
||||
</Char>
|
||||
<Char code="1077" width="0.511606" height="0.444445" italic="0.085002" >
|
||||
<Kern code="1092" val="-0.058888"/>
|
||||
<Kern code="1072" val="-0.058888"/>
|
||||
<Kern code="1083" val="-0.029445"/>
|
||||
<Kern code="1084" val="-0.029445"/>
|
||||
<Kern code="1113" val="-0.029445"/>
|
||||
</Char>
|
||||
<Char code="1092" width="0.785437" height="0.694445" depth="0.194445" italic="0.078611" >
|
||||
<Kern code="1092" val="-0.058888"/>
|
||||
<Kern code="1072" val="-0.058888"/>
|
||||
<Kern code="1083" val="-0.029445"/>
|
||||
<Kern code="1084" val="-0.029445"/>
|
||||
<Kern code="1113" val="-0.029445"/>
|
||||
</Char>
|
||||
<Char code="1075" width="0.488052" height="0.444445" italic="0.085002" />
|
||||
<Char code="1093" width="0.648885" height="0.444445" italic="0.1258335" />
|
||||
<Char code="1080" width="0.649994" height="0.444445" italic="0.094261" >
|
||||
</Char>
|
||||
<Char code="1112" width="0.355553" height="0.693255" depth="0.194445" italic="0.167204" >
|
||||
</Char>
|
||||
<Char code="1082" width="0.591105" height="0.444445" italic="0.111112" >
|
||||
<Lig code="1093" ligCode="1093"/>
|
||||
</Char>
|
||||
<Char code="1083" width="0.62055" height="0.444445" italic="0.094261" >
|
||||
<Lig code="1112" ligCode="1113"/>
|
||||
<Kern code="1083" val="-0.029445"/>
|
||||
<Kern code="1084" val="-0.029445"/>
|
||||
<Kern code="1113" val="-0.029445"/>
|
||||
<Kern code="1141" val="-0.029445"/>
|
||||
<Kern code="1098" val="-0.029445"/>
|
||||
<Kern code="1095" val="-0.088333"/>
|
||||
</Char>
|
||||
<Char code="1084" width="0.856104" height="0.444445" italic="0.094261" />
|
||||
<Char code="1085" width="0.649994" height="0.444445" italic="0.094261" >
|
||||
<Lig code="1112" ligCode="1114"/>
|
||||
</Char>
|
||||
<Char code="1086" width="0.549883" height="0.444445" italic="0.078611" >
|
||||
<Kern code="1092" val="-0.058888"/>
|
||||
<Kern code="1072" val="-0.058888"/>
|
||||
<Kern code="1083" val="-0.029445"/>
|
||||
<Kern code="1084" val="-0.029445"/>
|
||||
<Kern code="1113" val="-0.029445"/>
|
||||
</Char>
|
||||
<Char code="1087" width="0.649994" height="0.444445" italic="0.094261" >
|
||||
</Char>
|
||||
<Char code="1095" width="0.62055" height="0.444445" italic="0.094261" />
|
||||
<Char code="1088" width="0.585216" height="0.444445" depth="0.194445" italic="0.078611" >
|
||||
<Kern code="1092" val="-0.058888"/>
|
||||
<Kern code="1072" val="-0.058888"/>
|
||||
<Kern code="1083" val="-0.029445"/>
|
||||
<Kern code="1084" val="-0.029445"/>
|
||||
<Kern code="1113" val="-0.029445"/>
|
||||
</Char>
|
||||
<Char code="1089" width="0.511606" height="0.444445" italic="0.052223" >
|
||||
<Lig code="1093" ligCode="1096"/>
|
||||
<Kern code="1092" val="-0.058888"/>
|
||||
<Kern code="1072" val="-0.058888"/>
|
||||
<Kern code="1083" val="-0.029445"/>
|
||||
<Kern code="1084" val="-0.029445"/>
|
||||
<Kern code="1113" val="-0.029445"/>
|
||||
</Char>
|
||||
<Char code="1090" width="0.944435" height="0.444445" italic="0.094261" >
|
||||
<Lig code="1089" ligCode="1094"/>
|
||||
</Char>
|
||||
<Char code="1091" width="0.591105" height="0.444445" depth="0.194445" italic="0.105001" />
|
||||
<Char code="1074" width="0.570494" height="0.444445" italic="0.085002" />
|
||||
<Char code="1097" width="0.950325" height="0.444445" depth="0.194445" italic="0.094261" />
|
||||
<Char code="1096" width="0.944435" height="0.444445" italic="0.094261" >
|
||||
<Lig code="1095" ligCode="1097"/>
|
||||
<Lig code="1094" ligCode="0"/>
|
||||
</Char>
|
||||
<Char code="1099" width="0.767771" height="0.444445" italic="0.094261" >
|
||||
<Lig code="1072" ligCode="1103"/>
|
||||
<Lig code="1091" ligCode="1102"/>
|
||||
</Char>
|
||||
<Char code="1079" width="0.532217" height="0.444445" italic="0.052223" >
|
||||
<Lig code="1093" ligCode="1078"/>
|
||||
</Char>
|
||||
<Char code="1100" width="0.591105" height="0.444445" italic="0.078611" >
|
||||
<Kern code="1083" val="-0.029445"/>
|
||||
<Kern code="1084" val="-0.029445"/>
|
||||
<Kern code="1113" val="-0.029445"/>
|
||||
<Kern code="1141" val="-0.029445"/>
|
||||
<Kern code="1098" val="-0.029445"/>
|
||||
<Kern code="1095" val="-0.088333"/>
|
||||
<Kern code="1086" val="-0.029445"/>
|
||||
<Kern code="1139" val="-0.029445"/>
|
||||
<Kern code="1092" val="-0.029445"/>
|
||||
<Kern code="1108" val="-0.029445"/>
|
||||
</Char>
|
||||
<Char code="1098" width="0.561663" height="0.444445" italic="0.078611" >
|
||||
<Kern code="1083" val="-0.029445"/>
|
||||
<Kern code="1084" val="-0.029445"/>
|
||||
<Kern code="1113" val="-0.029445"/>
|
||||
<Kern code="1141" val="-0.029445"/>
|
||||
<Kern code="1098" val="-0.029445"/>
|
||||
<Kern code="1095" val="-0.088333"/>
|
||||
<Kern code="1086" val="-0.029445"/>
|
||||
<Kern code="1139" val="-0.029445"/>
|
||||
<Kern code="1092" val="-0.029445"/>
|
||||
<Kern code="1108" val="-0.029445"/>
|
||||
</Char>
|
||||
</Font>
|
||||
|
||||
BIN
3rdparty/MicroTeX/res/cyrillic/wnr10.ttf
vendored
Normal file
BIN
3rdparty/MicroTeX/res/cyrillic/wnr10.ttf
vendored
Normal file
Binary file not shown.
615
3rdparty/MicroTeX/res/cyrillic/wnr10.xml
vendored
Normal file
615
3rdparty/MicroTeX/res/cyrillic/wnr10.xml
vendored
Normal file
@ -0,0 +1,615 @@
|
||||
<Font name="wnr10.ttf" id="wnr10" space="0.333334" xHeight="0.430555" quad="1.000003" unicode="95" boldVersion="wnbx10" ssVersion="wnss10" ttVersion="wntt10" itVersion="wnti10">
|
||||
<Char code="1034" width="1.083338" height="0.683332" >
|
||||
<Kern code="1046" val="-0.027779"/>
|
||||
<Kern code="1061" val="-0.027779"/>
|
||||
<Kern code="1054" val="-0.027779"/>
|
||||
<Kern code="1060" val="-0.027779"/>
|
||||
<Kern code="1138" val="-0.027779"/>
|
||||
<Kern code="1057" val="-0.027779"/>
|
||||
<Kern code="1028" val="-0.027779"/>
|
||||
<Kern code="1058" val="-0.083334"/>
|
||||
<Kern code="1066" val="-0.083334"/>
|
||||
<Kern code="1026" val="-0.083334"/>
|
||||
<Kern code="1035" val="-0.083334"/>
|
||||
<Kern code="1122" val="-0.083334"/>
|
||||
<Kern code="1063" val="-0.083334"/>
|
||||
<Kern code="1059" val="-0.083334"/>
|
||||
<Kern code="1140" val="-0.111112"/>
|
||||
<Kern code="1090" val="-0.027779"/>
|
||||
<Kern code="1098" val="-0.027779"/>
|
||||
<Kern code="1123" val="-0.027779"/>
|
||||
<Kern code="1095" val="-0.083334"/>
|
||||
</Char>
|
||||
<Char code="1033" width="1.083338" height="0.683332" >
|
||||
<Kern code="1046" val="-0.027779"/>
|
||||
<Kern code="1061" val="-0.027779"/>
|
||||
<Kern code="1054" val="-0.027779"/>
|
||||
<Kern code="1060" val="-0.027779"/>
|
||||
<Kern code="1138" val="-0.027779"/>
|
||||
<Kern code="1057" val="-0.027779"/>
|
||||
<Kern code="1028" val="-0.027779"/>
|
||||
<Kern code="1058" val="-0.083334"/>
|
||||
<Kern code="1066" val="-0.083334"/>
|
||||
<Kern code="1026" val="-0.083334"/>
|
||||
<Kern code="1035" val="-0.083334"/>
|
||||
<Kern code="1122" val="-0.083334"/>
|
||||
<Kern code="1063" val="-0.083334"/>
|
||||
<Kern code="1059" val="-0.083334"/>
|
||||
<Kern code="1140" val="-0.111112"/>
|
||||
<Kern code="1090" val="-0.027779"/>
|
||||
<Kern code="1098" val="-0.027779"/>
|
||||
<Kern code="1123" val="-0.027779"/>
|
||||
<Kern code="1095" val="-0.083334"/>
|
||||
</Char>
|
||||
<Char code="1039" width="0.777781" height="0.683332" depth="0.194445" />
|
||||
<Char code="1069" width="0.722224" height="0.683332" >
|
||||
<Kern code="1040" val="-0.027779"/>
|
||||
<Kern code="1044" val="-0.027779"/>
|
||||
<Kern code="1046" val="-0.027779"/>
|
||||
<Kern code="1061" val="-0.027779"/>
|
||||
<Kern code="1059" val="-0.027779"/>
|
||||
<Kern code="1140" val="-0.027779"/>
|
||||
<Kern code="1071" val="-0.027779"/>
|
||||
</Char>
|
||||
<Char code="1030" width="0.361112" height="0.683332" >
|
||||
<Kern code="1030" val="0.027779"/>
|
||||
</Char>
|
||||
<Char code="1028" width="0.722224" height="0.683332" />
|
||||
<Char code="1026" width="0.8611145" height="0.683332" >
|
||||
<Kern code="1046" val="-0.027779"/>
|
||||
<Kern code="1061" val="-0.027779"/>
|
||||
<Kern code="1054" val="-0.027779"/>
|
||||
<Kern code="1060" val="-0.027779"/>
|
||||
<Kern code="1138" val="-0.027779"/>
|
||||
<Kern code="1057" val="-0.027779"/>
|
||||
<Kern code="1028" val="-0.027779"/>
|
||||
<Kern code="1058" val="-0.083334"/>
|
||||
<Kern code="1066" val="-0.083334"/>
|
||||
<Kern code="1026" val="-0.083334"/>
|
||||
<Kern code="1035" val="-0.083334"/>
|
||||
<Kern code="1122" val="-0.083334"/>
|
||||
<Kern code="1063" val="-0.083334"/>
|
||||
<Kern code="1059" val="-0.083334"/>
|
||||
<Kern code="1140" val="-0.111112"/>
|
||||
<Kern code="1090" val="-0.027779"/>
|
||||
<Kern code="1098" val="-0.027779"/>
|
||||
<Kern code="1123" val="-0.027779"/>
|
||||
<Kern code="1095" val="-0.083334"/>
|
||||
</Char>
|
||||
<Char code="1035" width="0.763891" height="0.683332" />
|
||||
<Char code="1114" width="0.763891" height="0.430555" >
|
||||
<Kern code="1091" val="-0.055555"/>
|
||||
<Kern code="1141" val="-0.055555"/>
|
||||
<Kern code="1090" val="-0.027779"/>
|
||||
<Kern code="1098" val="-0.027779"/>
|
||||
<Kern code="1123" val="-0.027779"/>
|
||||
<Kern code="1095" val="-0.083334"/>
|
||||
<Kern code="1086" val="-0.027779"/>
|
||||
<Kern code="1139" val="-0.027779"/>
|
||||
<Kern code="1092" val="-0.027779"/>
|
||||
<Kern code="1108" val="-0.027779"/>
|
||||
</Char>
|
||||
<Char code="1113" width="0.763891" height="0.430555" >
|
||||
<Kern code="1091" val="-0.055555"/>
|
||||
<Kern code="1141" val="-0.055555"/>
|
||||
<Kern code="1090" val="-0.027779"/>
|
||||
<Kern code="1098" val="-0.027779"/>
|
||||
<Kern code="1123" val="-0.027779"/>
|
||||
<Kern code="1095" val="-0.083334"/>
|
||||
<Kern code="1086" val="-0.027779"/>
|
||||
<Kern code="1139" val="-0.027779"/>
|
||||
<Kern code="1092" val="-0.027779"/>
|
||||
<Kern code="1108" val="-0.027779"/>
|
||||
</Char>
|
||||
<Char code="1119" width="0.555557" height="0.430555" depth="0.162038" italic="0.001389" />
|
||||
<Char code="1101" width="0.444446" height="0.430555" >
|
||||
<Kern code="1076" val="-0.027779"/>
|
||||
<Kern code="1078" val="-0.027779"/>
|
||||
<Kern code="1093" val="-0.027779"/>
|
||||
<Kern code="1103" val="-0.027779"/>
|
||||
</Char>
|
||||
<Char code="1110" width="0.277779" height="0.667859" />
|
||||
<Char code="1108" width="0.43889" height="0.430555" />
|
||||
<Char code="1106" width="0.527781" height="0.694445" depth="0.194445" />
|
||||
<Char code="1115" width="0.555557" height="0.694445" />
|
||||
<Char code="1070" width="1.125003" height="0.683332" >
|
||||
<Kern code="1040" val="-0.027779"/>
|
||||
<Kern code="1044" val="-0.027779"/>
|
||||
<Kern code="1046" val="-0.027779"/>
|
||||
<Kern code="1061" val="-0.027779"/>
|
||||
<Kern code="1059" val="-0.027779"/>
|
||||
<Kern code="1140" val="-0.027779"/>
|
||||
<Kern code="1071" val="-0.027779"/>
|
||||
</Char>
|
||||
<Char code="1046" width="1.194448" height="0.683332" >
|
||||
<Kern code="1054" val="-0.027779"/>
|
||||
<Kern code="1060" val="-0.027779"/>
|
||||
<Kern code="1138" val="-0.027779"/>
|
||||
<Kern code="1057" val="-0.027779"/>
|
||||
<Kern code="1028" val="-0.027779"/>
|
||||
<Kern code="1095" val="-0.027779"/>
|
||||
<Kern code="1090" val="-0.027779"/>
|
||||
<Kern code="1098" val="-0.027779"/>
|
||||
<Kern code="1123" val="-0.027779"/>
|
||||
</Char>
|
||||
<Char code="1049" width="0.777781" height="0.891615" />
|
||||
<Char code="1025" width="0.680557" height="0.891615" />
|
||||
<Char code="1140" width="0.8194475" height="0.683332" italic="0.013888" >
|
||||
<Kern code="1040" val="-0.111112"/>
|
||||
<Kern code="1071" val="-0.111112"/>
|
||||
<Kern code="1054" val="-0.027779"/>
|
||||
<Kern code="1060" val="-0.027779"/>
|
||||
<Kern code="1138" val="-0.027779"/>
|
||||
<Kern code="1057" val="-0.027779"/>
|
||||
<Kern code="1028" val="-0.027779"/>
|
||||
<Kern code="1072" val="-0.083334"/>
|
||||
<Kern code="1086" val="-0.083334"/>
|
||||
<Kern code="1139" val="-0.083334"/>
|
||||
<Kern code="1077" val="-0.083334"/>
|
||||
<Kern code="1105" val="-0.083334"/>
|
||||
<Kern code="1076" val="-0.111112"/>
|
||||
<Kern code="1083" val="-0.111112"/>
|
||||
<Kern code="1113" val="-0.111112"/>
|
||||
<Kern code="1103" val="-0.111112"/>
|
||||
</Char>
|
||||
<Char code="1138" width="0.777781" height="0.683332" >
|
||||
<Kern code="1040" val="-0.027779"/>
|
||||
<Kern code="1044" val="-0.027779"/>
|
||||
<Kern code="1046" val="-0.027779"/>
|
||||
<Kern code="1061" val="-0.027779"/>
|
||||
<Kern code="1059" val="-0.027779"/>
|
||||
<Kern code="1140" val="-0.027779"/>
|
||||
<Kern code="1071" val="-0.027779"/>
|
||||
</Char>
|
||||
<Char code="1029" width="0.555557" height="0.683332" />
|
||||
<Char code="1071" width="0.777781" height="0.683332" />
|
||||
<Char code="1102" width="0.750003" height="0.430555" >
|
||||
<Kern code="1076" val="-0.027779"/>
|
||||
<Kern code="1078" val="-0.027779"/>
|
||||
<Kern code="1093" val="-0.027779"/>
|
||||
<Kern code="1103" val="-0.027779"/>
|
||||
</Char>
|
||||
<Char code="1078" width="0.833336" height="0.430555" >
|
||||
<Kern code="1072" val="-0.027779"/>
|
||||
<Kern code="1086" val="-0.027779"/>
|
||||
<Kern code="1139" val="-0.027779"/>
|
||||
<Kern code="1089" val="-0.027779"/>
|
||||
<Kern code="1108" val="-0.027779"/>
|
||||
<Kern code="1077" val="-0.027779"/>
|
||||
<Kern code="1105" val="-0.027779"/>
|
||||
</Char>
|
||||
<Char code="1081" width="0.555557" height="0.638838" italic="0.001389" />
|
||||
<Char code="1105" width="0.444446" height="0.659131" />
|
||||
<Char code="1141" width="0.587503" height="0.430555" italic="0.013888" >
|
||||
<Kern code="1072" val="-0.027779"/>
|
||||
<Kern code="1086" val="-0.027779"/>
|
||||
<Kern code="1139" val="-0.027779"/>
|
||||
<Kern code="1089" val="-0.027779"/>
|
||||
<Kern code="1108" val="-0.027779"/>
|
||||
<Kern code="1077" val="-0.027779"/>
|
||||
<Kern code="1105" val="-0.027779"/>
|
||||
<Kern code="1103" val="-0.027779"/>
|
||||
<Kern code="1076" val="-0.055555"/>
|
||||
<Kern code="1083" val="-0.055555"/>
|
||||
<Kern code="1113" val="-0.055555"/>
|
||||
</Char>
|
||||
<Char code="1139" width="0.444446" height="0.430555" >
|
||||
<Kern code="1076" val="-0.027779"/>
|
||||
<Kern code="1078" val="-0.027779"/>
|
||||
<Kern code="1093" val="-0.027779"/>
|
||||
<Kern code="1103" val="-0.027779"/>
|
||||
</Char>
|
||||
<Char code="1109" width="0.394445" height="0.430555" />
|
||||
<Char code="1103" width="0.541669" height="0.430555" italic="0.001389" />
|
||||
<Char code="776" width="0.500002" height="0.659131" />
|
||||
<Char code="1122" width="0.8194475" height="0.75" >
|
||||
<Kern code="1046" val="-0.027779"/>
|
||||
<Kern code="1061" val="-0.027779"/>
|
||||
<Kern code="1054" val="-0.027779"/>
|
||||
<Kern code="1060" val="-0.027779"/>
|
||||
<Kern code="1138" val="-0.027779"/>
|
||||
<Kern code="1057" val="-0.027779"/>
|
||||
<Kern code="1028" val="-0.027779"/>
|
||||
<Kern code="1058" val="-0.083334"/>
|
||||
<Kern code="1066" val="-0.083334"/>
|
||||
<Kern code="1026" val="-0.083334"/>
|
||||
<Kern code="1035" val="-0.083334"/>
|
||||
<Kern code="1122" val="-0.083334"/>
|
||||
<Kern code="1063" val="-0.083334"/>
|
||||
<Kern code="1059" val="-0.083334"/>
|
||||
<Kern code="1140" val="-0.111112"/>
|
||||
<Kern code="1090" val="-0.027779"/>
|
||||
<Kern code="1098" val="-0.027779"/>
|
||||
<Kern code="1123" val="-0.027779"/>
|
||||
<Kern code="1095" val="-0.083334"/>
|
||||
</Char>
|
||||
<Char code="774" width="0.500002" height="0.638838" />
|
||||
<Char code="1123" width="0.500002" height="0.638838" >
|
||||
<Kern code="1091" val="-0.055555"/>
|
||||
<Kern code="1141" val="-0.055555"/>
|
||||
<Kern code="1090" val="-0.027779"/>
|
||||
<Kern code="1098" val="-0.027779"/>
|
||||
<Kern code="1123" val="-0.027779"/>
|
||||
<Kern code="1095" val="-0.083334"/>
|
||||
<Kern code="1086" val="-0.027779"/>
|
||||
<Kern code="1139" val="-0.027779"/>
|
||||
<Kern code="1092" val="-0.027779"/>
|
||||
<Kern code="1108" val="-0.027779"/>
|
||||
</Char>
|
||||
<Char code="171" width="0.555557" height="0.483335" />
|
||||
<Char code="305" width="0.277779" height="0.430555" />
|
||||
<Char code="187" width="0.555557" height="0.483335" />
|
||||
<Char code="1040" width="0.750002" height="0.683332" >
|
||||
<Kern code="1054" val="-0.027779"/>
|
||||
<Kern code="1060" val="-0.027779"/>
|
||||
<Kern code="1138" val="-0.027779"/>
|
||||
<Kern code="1057" val="-0.027779"/>
|
||||
<Kern code="1028" val="-0.027779"/>
|
||||
<Kern code="1058" val="-0.083334"/>
|
||||
<Kern code="1066" val="-0.083334"/>
|
||||
<Kern code="1026" val="-0.083334"/>
|
||||
<Kern code="1035" val="-0.083334"/>
|
||||
<Kern code="1122" val="-0.083334"/>
|
||||
<Kern code="1063" val="-0.083334"/>
|
||||
<Kern code="1059" val="-0.083334"/>
|
||||
<Kern code="1140" val="-0.111112"/>
|
||||
<Kern code="1090" val="-0.027779"/>
|
||||
<Kern code="1098" val="-0.027779"/>
|
||||
<Kern code="1123" val="-0.027779"/>
|
||||
<Kern code="1095" val="-0.083334"/>
|
||||
</Char>
|
||||
<Char code="1041" width="0.708336" height="0.683332" />
|
||||
<Char code="1062" width="0.777781" height="0.683332" depth="0.194445" >
|
||||
<Lig code="1061" ligCode="1063"/>
|
||||
<Lig code="1093" ligCode="1063"/>
|
||||
</Char>
|
||||
<Char code="1044" width="0.777781" height="0.683332" depth="0.194445" >
|
||||
<Lig code="1032" ligCode="1026"/>
|
||||
<Lig code="1112" ligCode="1026"/>
|
||||
</Char>
|
||||
<Char code="1045" width="0.680557" height="0.683332" >
|
||||
</Char>
|
||||
<Char code="1060" width="0.833336" height="0.683332" >
|
||||
<Kern code="1040" val="-0.027779"/>
|
||||
<Kern code="1044" val="-0.027779"/>
|
||||
<Kern code="1046" val="-0.027779"/>
|
||||
<Kern code="1061" val="-0.027779"/>
|
||||
<Kern code="1059" val="-0.027779"/>
|
||||
<Kern code="1140" val="-0.027779"/>
|
||||
<Kern code="1071" val="-0.027779"/>
|
||||
</Char>
|
||||
<Char code="1043" width="0.625002" height="0.683332" >
|
||||
<Kern code="1040" val="-0.083334"/>
|
||||
<Kern code="1044" val="-0.083334"/>
|
||||
<Kern code="1071" val="-0.083334"/>
|
||||
<Kern code="1051" val="-0.027779"/>
|
||||
<Kern code="1033" val="-0.027779"/>
|
||||
<Kern code="1072" val="-0.083334"/>
|
||||
<Kern code="1086" val="-0.083334"/>
|
||||
<Kern code="1139" val="-0.083334"/>
|
||||
<Kern code="1077" val="-0.083334"/>
|
||||
<Kern code="1105" val="-0.083334"/>
|
||||
<Kern code="1089" val="-0.083334"/>
|
||||
<Kern code="1108" val="-0.083334"/>
|
||||
<Kern code="1092" val="-0.083334"/>
|
||||
<Kern code="1076" val="-0.083334"/>
|
||||
<Kern code="1083" val="-0.083334"/>
|
||||
<Kern code="1113" val="-0.083334"/>
|
||||
<Kern code="1103" val="-0.083334"/>
|
||||
</Char>
|
||||
<Char code="1061" width="0.750002" height="0.683332" >
|
||||
<Kern code="1054" val="-0.027779"/>
|
||||
<Kern code="1060" val="-0.027779"/>
|
||||
<Kern code="1138" val="-0.027779"/>
|
||||
<Kern code="1057" val="-0.027779"/>
|
||||
<Kern code="1028" val="-0.027779"/>
|
||||
<Kern code="1095" val="-0.027779"/>
|
||||
<Kern code="1090" val="-0.027779"/>
|
||||
<Kern code="1098" val="-0.027779"/>
|
||||
<Kern code="1123" val="-0.027779"/>
|
||||
</Char>
|
||||
<Char code="1048" width="0.777781" height="0.683332" >
|
||||
</Char>
|
||||
<Char code="1032" width="0.51389" height="0.683332" >
|
||||
</Char>
|
||||
<Char code="1050" width="0.777781" height="0.683332" >
|
||||
<Lig code="1061" ligCode="1061"/>
|
||||
<Lig code="1093" ligCode="1061"/>
|
||||
<Kern code="1054" val="-0.027779"/>
|
||||
<Kern code="1060" val="-0.027779"/>
|
||||
<Kern code="1138" val="-0.027779"/>
|
||||
<Kern code="1057" val="-0.027779"/>
|
||||
<Kern code="1028" val="-0.027779"/>
|
||||
<Kern code="1095" val="-0.027779"/>
|
||||
<Kern code="1090" val="-0.027779"/>
|
||||
<Kern code="1098" val="-0.027779"/>
|
||||
<Kern code="1123" val="-0.027779"/>
|
||||
</Char>
|
||||
<Char code="1051" width="0.777781" height="0.683332" >
|
||||
<Lig code="1032" ligCode="1033"/>
|
||||
<Lig code="1112" ligCode="1033"/>
|
||||
</Char>
|
||||
<Char code="1052" width="0.916669" height="0.683332" />
|
||||
<Char code="1053" width="0.777781" height="0.683332" >
|
||||
<Lig code="1032" ligCode="1034"/>
|
||||
<Lig code="1112" ligCode="1034"/>
|
||||
</Char>
|
||||
<Char code="1054" width="0.777781" height="0.683332" >
|
||||
<Kern code="1040" val="-0.027779"/>
|
||||
<Kern code="1044" val="-0.027779"/>
|
||||
<Kern code="1046" val="-0.027779"/>
|
||||
<Kern code="1061" val="-0.027779"/>
|
||||
<Kern code="1059" val="-0.027779"/>
|
||||
<Kern code="1140" val="-0.027779"/>
|
||||
<Kern code="1071" val="-0.027779"/>
|
||||
</Char>
|
||||
<Char code="1055" width="0.777781" height="0.683332" >
|
||||
</Char>
|
||||
<Char code="1063" width="0.777781" height="0.683332" />
|
||||
<Char code="1056" width="0.680557" height="0.683332" >
|
||||
<Kern code="1040" val="-0.083334"/>
|
||||
<Kern code="1044" val="-0.083334"/>
|
||||
<Kern code="1051" val="-0.083334"/>
|
||||
<Kern code="1033" val="-0.083334"/>
|
||||
<Kern code="1071" val="-0.083334"/>
|
||||
<Kern code="1072" val="-0.027779"/>
|
||||
<Kern code="1086" val="-0.027779"/>
|
||||
<Kern code="1139" val="-0.027779"/>
|
||||
<Kern code="1077" val="-0.027779"/>
|
||||
<Kern code="1105" val="-0.027779"/>
|
||||
<Kern code="1076" val="-0.083334"/>
|
||||
<Kern code="1083" val="-0.083334"/>
|
||||
<Kern code="1113" val="-0.083334"/>
|
||||
</Char>
|
||||
<Char code="1057" width="0.722224" height="0.683332" >
|
||||
<Lig code="1061" ligCode="1064"/>
|
||||
<Lig code="1093" ligCode="1064"/>
|
||||
</Char>
|
||||
<Char code="1058" width="0.722224" height="0.683332" >
|
||||
<Lig code="1057" ligCode="1062"/>
|
||||
<Lig code="1089" ligCode="1062"/>
|
||||
<Kern code="1040" val="-0.083334"/>
|
||||
<Kern code="1044" val="-0.083334"/>
|
||||
<Kern code="1071" val="-0.083334"/>
|
||||
<Kern code="1051" val="-0.027779"/>
|
||||
<Kern code="1033" val="-0.027779"/>
|
||||
<Kern code="1072" val="-0.083334"/>
|
||||
<Kern code="1086" val="-0.083334"/>
|
||||
<Kern code="1139" val="-0.083334"/>
|
||||
<Kern code="1077" val="-0.083334"/>
|
||||
<Kern code="1105" val="-0.083334"/>
|
||||
<Kern code="1089" val="-0.083334"/>
|
||||
<Kern code="1108" val="-0.083334"/>
|
||||
<Kern code="1092" val="-0.083334"/>
|
||||
<Kern code="1076" val="-0.083334"/>
|
||||
<Kern code="1083" val="-0.083334"/>
|
||||
<Kern code="1113" val="-0.083334"/>
|
||||
<Kern code="1103" val="-0.083334"/>
|
||||
</Char>
|
||||
<Char code="1059" width="0.750002" height="0.683332" italic="0.013888" >
|
||||
<Kern code="1040" val="-0.083334"/>
|
||||
<Kern code="1071" val="-0.083334"/>
|
||||
<Kern code="1044" val="-0.055555"/>
|
||||
<Kern code="1051" val="-0.055555"/>
|
||||
<Kern code="1033" val="-0.055555"/>
|
||||
<Kern code="1054" val="-0.027779"/>
|
||||
<Kern code="1060" val="-0.027779"/>
|
||||
<Kern code="1138" val="-0.027779"/>
|
||||
<Kern code="1057" val="-0.027779"/>
|
||||
<Kern code="1028" val="-0.027779"/>
|
||||
<Kern code="1072" val="-0.083334"/>
|
||||
<Kern code="1086" val="-0.083334"/>
|
||||
<Kern code="1139" val="-0.083334"/>
|
||||
<Kern code="1077" val="-0.083334"/>
|
||||
<Kern code="1105" val="-0.083334"/>
|
||||
<Kern code="1089" val="-0.083334"/>
|
||||
<Kern code="1108" val="-0.083334"/>
|
||||
<Kern code="1076" val="-0.083334"/>
|
||||
<Kern code="1083" val="-0.083334"/>
|
||||
<Kern code="1113" val="-0.083334"/>
|
||||
<Kern code="1103" val="-0.083334"/>
|
||||
</Char>
|
||||
<Char code="1042" width="0.708336" height="0.683332" />
|
||||
<Char code="1065" width="1.125003" height="0.683332" depth="0.194445" />
|
||||
<Char code="1064" width="1.125003" height="0.683332" >
|
||||
<Lig code="1063" ligCode="1065"/>
|
||||
<Lig code="1095" ligCode="1065"/>
|
||||
<Lig code="1062" ligCode="0"/>
|
||||
<Lig code="1094" ligCode="0"/>
|
||||
</Char>
|
||||
<Char code="1067" width="0.972226" height="0.683332" >
|
||||
<Lig code="1040" ligCode="1071"/>
|
||||
<Lig code="1072" ligCode="1071"/>
|
||||
<Lig code="1059" ligCode="1070"/>
|
||||
<Lig code="1091" ligCode="1070"/>
|
||||
</Char>
|
||||
<Char code="1047" width="0.611113" height="0.683332" >
|
||||
<Lig code="1061" ligCode="1046"/>
|
||||
<Lig code="1093" ligCode="1046"/>
|
||||
</Char>
|
||||
<Char code="1068" width="0.708336" height="0.683332" >
|
||||
<Kern code="1046" val="-0.027779"/>
|
||||
<Kern code="1061" val="-0.027779"/>
|
||||
<Kern code="1054" val="-0.027779"/>
|
||||
<Kern code="1060" val="-0.027779"/>
|
||||
<Kern code="1138" val="-0.027779"/>
|
||||
<Kern code="1057" val="-0.027779"/>
|
||||
<Kern code="1028" val="-0.027779"/>
|
||||
<Kern code="1058" val="-0.083334"/>
|
||||
<Kern code="1066" val="-0.083334"/>
|
||||
<Kern code="1026" val="-0.083334"/>
|
||||
<Kern code="1035" val="-0.083334"/>
|
||||
<Kern code="1122" val="-0.083334"/>
|
||||
<Kern code="1063" val="-0.083334"/>
|
||||
<Kern code="1059" val="-0.083334"/>
|
||||
<Kern code="1140" val="-0.111112"/>
|
||||
<Kern code="1090" val="-0.027779"/>
|
||||
<Kern code="1098" val="-0.027779"/>
|
||||
<Kern code="1123" val="-0.027779"/>
|
||||
<Kern code="1095" val="-0.083334"/>
|
||||
</Char>
|
||||
<Char code="1066" width="0.888893" height="0.683332" >
|
||||
<Kern code="1046" val="-0.027779"/>
|
||||
<Kern code="1061" val="-0.027779"/>
|
||||
<Kern code="1054" val="-0.027779"/>
|
||||
<Kern code="1060" val="-0.027779"/>
|
||||
<Kern code="1138" val="-0.027779"/>
|
||||
<Kern code="1057" val="-0.027779"/>
|
||||
<Kern code="1028" val="-0.027779"/>
|
||||
<Kern code="1058" val="-0.083334"/>
|
||||
<Kern code="1066" val="-0.083334"/>
|
||||
<Kern code="1026" val="-0.083334"/>
|
||||
<Kern code="1035" val="-0.083334"/>
|
||||
<Kern code="1122" val="-0.083334"/>
|
||||
<Kern code="1063" val="-0.083334"/>
|
||||
<Kern code="1059" val="-0.083334"/>
|
||||
<Kern code="1140" val="-0.111112"/>
|
||||
<Kern code="1090" val="-0.027779"/>
|
||||
<Kern code="1098" val="-0.027779"/>
|
||||
<Kern code="1123" val="-0.027779"/>
|
||||
<Kern code="1095" val="-0.083334"/>
|
||||
</Char>
|
||||
<Char code="1072" width="0.500002" height="0.430555" >
|
||||
<Kern code="1095" val="-0.027779"/>
|
||||
<Kern code="1091" val="-0.027779"/>
|
||||
<Kern code="1141" val="-0.027779"/>
|
||||
</Char>
|
||||
<Char code="1073" width="0.500002" height="0.694445" >
|
||||
<Kern code="1076" val="-0.027779"/>
|
||||
<Kern code="1078" val="-0.027779"/>
|
||||
<Kern code="1093" val="-0.027779"/>
|
||||
<Kern code="1103" val="-0.027779"/>
|
||||
</Char>
|
||||
<Char code="1094" width="0.555557" height="0.430555" depth="0.162038" italic="0.001389" >
|
||||
<Lig code="1093" ligCode="1095"/>
|
||||
</Char>
|
||||
<Char code="1076" width="0.555557" height="0.430555" depth="0.162038" italic="0.001389" >
|
||||
<Lig code="1112" ligCode="1106"/>
|
||||
</Char>
|
||||
<Char code="1077" width="0.444446" height="0.430555" >
|
||||
</Char>
|
||||
<Char code="1092" width="0.7777815" height="0.694445" depth="0.194445" >
|
||||
<Kern code="1076" val="-0.027779"/>
|
||||
<Kern code="1078" val="-0.027779"/>
|
||||
<Kern code="1093" val="-0.027779"/>
|
||||
<Kern code="1103" val="-0.027779"/>
|
||||
</Char>
|
||||
<Char code="1075" width="0.444446" height="0.430555" >
|
||||
<Kern code="1072" val="-0.027779"/>
|
||||
<Kern code="1076" val="-0.027779"/>
|
||||
<Kern code="1083" val="-0.027779"/>
|
||||
<Kern code="1113" val="-0.027779"/>
|
||||
<Kern code="1103" val="-0.027779"/>
|
||||
</Char>
|
||||
<Char code="1093" width="0.527781" height="0.430555" >
|
||||
<Kern code="1072" val="-0.027779"/>
|
||||
<Kern code="1086" val="-0.027779"/>
|
||||
<Kern code="1139" val="-0.027779"/>
|
||||
<Kern code="1089" val="-0.027779"/>
|
||||
<Kern code="1108" val="-0.027779"/>
|
||||
<Kern code="1077" val="-0.027779"/>
|
||||
<Kern code="1105" val="-0.027779"/>
|
||||
</Char>
|
||||
<Char code="1080" width="0.555557" height="0.430555" italic="0.001389" >
|
||||
</Char>
|
||||
<Char code="1112" width="0.305557" height="0.667859" depth="0.194445" >
|
||||
</Char>
|
||||
<Char code="1082" width="0.555557" height="0.430555" >
|
||||
<Lig code="1093" ligCode="1093"/>
|
||||
<Kern code="1072" val="-0.027779"/>
|
||||
<Kern code="1086" val="-0.027779"/>
|
||||
<Kern code="1139" val="-0.027779"/>
|
||||
<Kern code="1089" val="-0.027779"/>
|
||||
<Kern code="1108" val="-0.027779"/>
|
||||
<Kern code="1077" val="-0.027779"/>
|
||||
<Kern code="1105" val="-0.027779"/>
|
||||
</Char>
|
||||
<Char code="1083" width="0.555557" height="0.430555" italic="0.001389" >
|
||||
<Lig code="1112" ligCode="1113"/>
|
||||
</Char>
|
||||
<Char code="1084" width="0.666669" height="0.430555" italic="0.001389" />
|
||||
<Char code="1085" width="0.555557" height="0.430555" italic="0.001389" >
|
||||
<Lig code="1112" ligCode="1114"/>
|
||||
</Char>
|
||||
<Char code="1086" width="0.500002" height="0.430555" >
|
||||
<Kern code="1076" val="-0.027779"/>
|
||||
<Kern code="1078" val="-0.027779"/>
|
||||
<Kern code="1093" val="-0.027779"/>
|
||||
<Kern code="1103" val="-0.027779"/>
|
||||
</Char>
|
||||
<Char code="1087" width="0.555557" height="0.430555" italic="0.001389" >
|
||||
</Char>
|
||||
<Char code="1095" width="0.555557" height="0.430555" italic="0.001389" />
|
||||
<Char code="1088" width="0.555557" height="0.430555" depth="0.194445" >
|
||||
<Kern code="1076" val="-0.027779"/>
|
||||
<Kern code="1078" val="-0.027779"/>
|
||||
<Kern code="1093" val="-0.027779"/>
|
||||
<Kern code="1103" val="-0.027779"/>
|
||||
</Char>
|
||||
<Char code="1089" width="0.444446" height="0.430555" >
|
||||
<Lig code="1093" ligCode="1096"/>
|
||||
<Kern code="1076" val="-0.027779"/>
|
||||
<Kern code="1078" val="-0.027779"/>
|
||||
<Kern code="1093" val="-0.027779"/>
|
||||
<Kern code="1103" val="-0.027779"/>
|
||||
</Char>
|
||||
<Char code="1090" width="0.500002" height="0.430555" >
|
||||
<Lig code="1089" ligCode="1094"/>
|
||||
<Kern code="1072" val="-0.027779"/>
|
||||
<Kern code="1076" val="-0.027779"/>
|
||||
<Kern code="1083" val="-0.027779"/>
|
||||
<Kern code="1113" val="-0.027779"/>
|
||||
<Kern code="1103" val="-0.027779"/>
|
||||
</Char>
|
||||
<Char code="1091" width="0.527781" height="0.430555" depth="0.194445" italic="0.013888" >
|
||||
<Kern code="1072" val="-0.027779"/>
|
||||
<Kern code="1086" val="-0.027779"/>
|
||||
<Kern code="1139" val="-0.027779"/>
|
||||
<Kern code="1089" val="-0.027779"/>
|
||||
<Kern code="1108" val="-0.027779"/>
|
||||
<Kern code="1077" val="-0.027779"/>
|
||||
<Kern code="1105" val="-0.027779"/>
|
||||
<Kern code="1103" val="-0.027779"/>
|
||||
<Kern code="1076" val="-0.055555"/>
|
||||
<Kern code="1083" val="-0.055555"/>
|
||||
<Kern code="1113" val="-0.055555"/>
|
||||
</Char>
|
||||
<Char code="1074" width="0.500002" height="0.430555" />
|
||||
<Char code="1097" width="0.805559" height="0.430555" depth="0.162038" italic="0.001389" />
|
||||
<Char code="1096" width="0.805559" height="0.430555" italic="0.001389" >
|
||||
<Lig code="1095" ligCode="1097"/>
|
||||
<Lig code="1094" ligCode="0"/>
|
||||
</Char>
|
||||
<Char code="1099" width="0.722224" height="0.430555" italic="0.001389" >
|
||||
<Lig code="1072" ligCode="1103"/>
|
||||
<Lig code="1091" ligCode="1102"/>
|
||||
</Char>
|
||||
<Char code="1079" width="0.444446" height="0.430555" italic="0.005556" >
|
||||
<Lig code="1093" ligCode="1078"/>
|
||||
</Char>
|
||||
<Char code="1100" width="0.500002" height="0.430555" >
|
||||
<Kern code="1091" val="-0.055555"/>
|
||||
<Kern code="1141" val="-0.055555"/>
|
||||
<Kern code="1090" val="-0.027779"/>
|
||||
<Kern code="1098" val="-0.027779"/>
|
||||
<Kern code="1123" val="-0.027779"/>
|
||||
<Kern code="1095" val="-0.083334"/>
|
||||
<Kern code="1086" val="-0.027779"/>
|
||||
<Kern code="1139" val="-0.027779"/>
|
||||
<Kern code="1092" val="-0.027779"/>
|
||||
<Kern code="1108" val="-0.027779"/>
|
||||
</Char>
|
||||
<Char code="1098" width="0.611113" height="0.430555" >
|
||||
<Kern code="1091" val="-0.055555"/>
|
||||
<Kern code="1141" val="-0.055555"/>
|
||||
<Kern code="1090" val="-0.027779"/>
|
||||
<Kern code="1098" val="-0.027779"/>
|
||||
<Kern code="1123" val="-0.027779"/>
|
||||
<Kern code="1095" val="-0.083334"/>
|
||||
<Kern code="1086" val="-0.027779"/>
|
||||
<Kern code="1139" val="-0.027779"/>
|
||||
<Kern code="1092" val="-0.027779"/>
|
||||
<Kern code="1108" val="-0.027779"/>
|
||||
</Char>
|
||||
</Font>
|
||||
|
||||
BIN
3rdparty/MicroTeX/res/cyrillic/wnss10.ttf
vendored
Normal file
BIN
3rdparty/MicroTeX/res/cyrillic/wnss10.ttf
vendored
Normal file
Binary file not shown.
605
3rdparty/MicroTeX/res/cyrillic/wnss10.xml
vendored
Normal file
605
3rdparty/MicroTeX/res/cyrillic/wnss10.xml
vendored
Normal file
@ -0,0 +1,605 @@
|
||||
<Font name="wnss10.ttf" id="wnss10" space="0.333334" xHeight="0.444445" quad="1.000003" unicode="95" romanVersion="wnr10" ttVersion="wntt10" boldVersion="wnssbx10" itVersion="wnssi10">
|
||||
<Char code="1034" width="1.020838" height="0.694445" >
|
||||
<Kern code="1046" val="-0.027779"/>
|
||||
<Kern code="1061" val="-0.027779"/>
|
||||
<Kern code="1054" val="-0.027779"/>
|
||||
<Kern code="1060" val="-0.027779"/>
|
||||
<Kern code="1138" val="-0.027779"/>
|
||||
<Kern code="1057" val="-0.027779"/>
|
||||
<Kern code="1028" val="-0.027779"/>
|
||||
<Kern code="1058" val="-0.083334"/>
|
||||
<Kern code="1066" val="-0.083334"/>
|
||||
<Kern code="1026" val="-0.083334"/>
|
||||
<Kern code="1035" val="-0.083334"/>
|
||||
<Kern code="1122" val="-0.083334"/>
|
||||
<Kern code="1063" val="-0.083334"/>
|
||||
<Kern code="1059" val="-0.027779"/>
|
||||
<Kern code="1140" val="-0.083334"/>
|
||||
<Kern code="1090" val="-0.027779"/>
|
||||
<Kern code="1098" val="-0.027779"/>
|
||||
<Kern code="1123" val="-0.027779"/>
|
||||
<Kern code="1095" val="-0.083334"/>
|
||||
</Char>
|
||||
<Char code="1033" width="1.037504" height="0.694445" >
|
||||
<Kern code="1046" val="-0.027779"/>
|
||||
<Kern code="1061" val="-0.027779"/>
|
||||
<Kern code="1054" val="-0.027779"/>
|
||||
<Kern code="1060" val="-0.027779"/>
|
||||
<Kern code="1138" val="-0.027779"/>
|
||||
<Kern code="1057" val="-0.027779"/>
|
||||
<Kern code="1028" val="-0.027779"/>
|
||||
<Kern code="1058" val="-0.083334"/>
|
||||
<Kern code="1066" val="-0.083334"/>
|
||||
<Kern code="1026" val="-0.083334"/>
|
||||
<Kern code="1035" val="-0.083334"/>
|
||||
<Kern code="1122" val="-0.083334"/>
|
||||
<Kern code="1063" val="-0.083334"/>
|
||||
<Kern code="1059" val="-0.027779"/>
|
||||
<Kern code="1140" val="-0.083334"/>
|
||||
<Kern code="1090" val="-0.027779"/>
|
||||
<Kern code="1098" val="-0.027779"/>
|
||||
<Kern code="1123" val="-0.027779"/>
|
||||
<Kern code="1095" val="-0.083334"/>
|
||||
</Char>
|
||||
<Char code="1039" width="0.694448" height="0.694445" depth="0.194445" />
|
||||
<Char code="1069" width="0.638891" height="0.694445" >
|
||||
<Kern code="1040" val="-0.027779"/>
|
||||
<Kern code="1044" val="-0.027779"/>
|
||||
<Kern code="1046" val="-0.027779"/>
|
||||
<Kern code="1061" val="-0.027779"/>
|
||||
<Kern code="1059" val="-0.027779"/>
|
||||
<Kern code="1140" val="-0.027779"/>
|
||||
</Char>
|
||||
<Char code="1030" width="0.277781" height="0.694445" >
|
||||
<Kern code="1030" val="0.027779"/>
|
||||
</Char>
|
||||
<Char code="1028" width="0.638891" height="0.694445" />
|
||||
<Char code="1026" width="0.8194475" height="0.694445" >
|
||||
<Kern code="1046" val="-0.027779"/>
|
||||
<Kern code="1061" val="-0.027779"/>
|
||||
<Kern code="1054" val="-0.027779"/>
|
||||
<Kern code="1060" val="-0.027779"/>
|
||||
<Kern code="1138" val="-0.027779"/>
|
||||
<Kern code="1057" val="-0.027779"/>
|
||||
<Kern code="1028" val="-0.027779"/>
|
||||
<Kern code="1058" val="-0.083334"/>
|
||||
<Kern code="1066" val="-0.083334"/>
|
||||
<Kern code="1026" val="-0.083334"/>
|
||||
<Kern code="1035" val="-0.083334"/>
|
||||
<Kern code="1122" val="-0.083334"/>
|
||||
<Kern code="1063" val="-0.083334"/>
|
||||
<Kern code="1059" val="-0.027779"/>
|
||||
<Kern code="1140" val="-0.083334"/>
|
||||
<Kern code="1090" val="-0.027779"/>
|
||||
<Kern code="1098" val="-0.027779"/>
|
||||
<Kern code="1123" val="-0.027779"/>
|
||||
<Kern code="1095" val="-0.083334"/>
|
||||
</Char>
|
||||
<Char code="1035" width="0.763891" height="0.694445" />
|
||||
<Char code="1114" width="0.765282" height="0.444445" >
|
||||
<Kern code="1091" val="-0.055555"/>
|
||||
<Kern code="1141" val="-0.055555"/>
|
||||
<Kern code="1090" val="-0.027779"/>
|
||||
<Kern code="1098" val="-0.027779"/>
|
||||
<Kern code="1123" val="-0.027779"/>
|
||||
<Kern code="1095" val="-0.083334"/>
|
||||
<Kern code="1086" val="-0.027779"/>
|
||||
<Kern code="1139" val="-0.027779"/>
|
||||
<Kern code="1092" val="-0.027779"/>
|
||||
<Kern code="1108" val="-0.027779"/>
|
||||
</Char>
|
||||
<Char code="1113" width="0.755559" height="0.444445" >
|
||||
<Kern code="1091" val="-0.055555"/>
|
||||
<Kern code="1141" val="-0.055555"/>
|
||||
<Kern code="1090" val="-0.027779"/>
|
||||
<Kern code="1098" val="-0.027779"/>
|
||||
<Kern code="1123" val="-0.027779"/>
|
||||
<Kern code="1095" val="-0.083334"/>
|
||||
<Kern code="1086" val="-0.027779"/>
|
||||
<Kern code="1139" val="-0.027779"/>
|
||||
<Kern code="1092" val="-0.027779"/>
|
||||
<Kern code="1108" val="-0.027779"/>
|
||||
</Char>
|
||||
<Char code="1119" width="0.537503" height="0.444445" depth="0.162038" />
|
||||
<Char code="1101" width="0.444446" height="0.444445" >
|
||||
<Kern code="1076" val="-0.027779"/>
|
||||
<Kern code="1078" val="-0.027779"/>
|
||||
<Kern code="1093" val="-0.027779"/>
|
||||
<Kern code="1103" val="-0.027779"/>
|
||||
</Char>
|
||||
<Char code="1110" width="0.23889" height="0.679365" />
|
||||
<Char code="1108" width="0.43889" height="0.444445" />
|
||||
<Char code="1106" width="0.488892" height="0.694445" depth="0.194445" />
|
||||
<Char code="1115" width="0.516668" height="0.694445" />
|
||||
<Char code="1070" width="1.04167" height="0.694445" >
|
||||
<Kern code="1040" val="-0.027779"/>
|
||||
<Kern code="1044" val="-0.027779"/>
|
||||
<Kern code="1046" val="-0.027779"/>
|
||||
<Kern code="1061" val="-0.027779"/>
|
||||
<Kern code="1059" val="-0.027779"/>
|
||||
<Kern code="1140" val="-0.027779"/>
|
||||
</Char>
|
||||
<Char code="1046" width="1.111117" height="0.694445" >
|
||||
<Kern code="1054" val="-0.027779"/>
|
||||
<Kern code="1060" val="-0.027779"/>
|
||||
<Kern code="1138" val="-0.027779"/>
|
||||
<Kern code="1057" val="-0.027779"/>
|
||||
<Kern code="1028" val="-0.027779"/>
|
||||
<Kern code="1095" val="-0.027779"/>
|
||||
<Kern code="1090" val="-0.027779"/>
|
||||
<Kern code="1098" val="-0.027779"/>
|
||||
<Kern code="1123" val="-0.027779"/>
|
||||
</Char>
|
||||
<Char code="1049" width="0.694448" height="0.902727" />
|
||||
<Char code="1025" width="0.597224" height="0.902727" />
|
||||
<Char code="1140" width="0.722226" height="0.694445" italic="0.013888" >
|
||||
<Kern code="1040" val="-0.083334"/>
|
||||
<Kern code="1044" val="-0.055555"/>
|
||||
<Kern code="1051" val="-0.055555"/>
|
||||
<Kern code="1033" val="-0.055555"/>
|
||||
<Kern code="1054" val="-0.027779"/>
|
||||
<Kern code="1060" val="-0.027779"/>
|
||||
<Kern code="1138" val="-0.027779"/>
|
||||
<Kern code="1057" val="-0.027779"/>
|
||||
<Kern code="1028" val="-0.027779"/>
|
||||
<Kern code="1072" val="-0.027779"/>
|
||||
<Kern code="1086" val="-0.027779"/>
|
||||
<Kern code="1139" val="-0.027779"/>
|
||||
<Kern code="1077" val="-0.027779"/>
|
||||
<Kern code="1105" val="-0.027779"/>
|
||||
<Kern code="1076" val="-0.083334"/>
|
||||
<Kern code="1083" val="-0.083334"/>
|
||||
<Kern code="1113" val="-0.083334"/>
|
||||
<Kern code="1103" val="-0.083334"/>
|
||||
</Char>
|
||||
<Char code="1138" width="0.777781" height="0.694445" >
|
||||
<Kern code="1040" val="-0.027779"/>
|
||||
<Kern code="1044" val="-0.027779"/>
|
||||
<Kern code="1046" val="-0.027779"/>
|
||||
<Kern code="1061" val="-0.027779"/>
|
||||
<Kern code="1059" val="-0.027779"/>
|
||||
<Kern code="1140" val="-0.027779"/>
|
||||
</Char>
|
||||
<Char code="1029" width="0.555557" height="0.694445" />
|
||||
<Char code="1071" width="0.645836" height="0.694445" />
|
||||
<Char code="1102" width="0.730558" height="0.444445" >
|
||||
<Kern code="1076" val="-0.027779"/>
|
||||
<Kern code="1078" val="-0.027779"/>
|
||||
<Kern code="1093" val="-0.027779"/>
|
||||
<Kern code="1103" val="-0.027779"/>
|
||||
</Char>
|
||||
<Char code="1078" width="0.7388935" height="0.444445" >
|
||||
<Kern code="1072" val="-0.027779"/>
|
||||
<Kern code="1086" val="-0.027779"/>
|
||||
<Kern code="1139" val="-0.027779"/>
|
||||
<Kern code="1089" val="-0.027779"/>
|
||||
<Kern code="1108" val="-0.027779"/>
|
||||
<Kern code="1077" val="-0.027779"/>
|
||||
<Kern code="1105" val="-0.027779"/>
|
||||
</Char>
|
||||
<Char code="1081" width="0.537503" height="0.652727" />
|
||||
<Char code="1105" width="0.444446" height="0.660319" />
|
||||
<Char code="1141" width="0.491667" height="0.444445" italic="0.013888" >
|
||||
<Kern code="1072" val="-0.027779"/>
|
||||
<Kern code="1086" val="-0.027779"/>
|
||||
<Kern code="1139" val="-0.027779"/>
|
||||
<Kern code="1089" val="-0.027779"/>
|
||||
<Kern code="1108" val="-0.027779"/>
|
||||
<Kern code="1077" val="-0.027779"/>
|
||||
<Kern code="1105" val="-0.027779"/>
|
||||
<Kern code="1103" val="-0.027779"/>
|
||||
<Kern code="1076" val="-0.055555"/>
|
||||
<Kern code="1083" val="-0.055555"/>
|
||||
<Kern code="1113" val="-0.055555"/>
|
||||
</Char>
|
||||
<Char code="1139" width="0.500002" height="0.444445" >
|
||||
<Kern code="1076" val="-0.027779"/>
|
||||
<Kern code="1078" val="-0.027779"/>
|
||||
<Kern code="1093" val="-0.027779"/>
|
||||
<Kern code="1103" val="-0.027779"/>
|
||||
</Char>
|
||||
<Char code="1109" width="0.383334" height="0.444445" />
|
||||
<Char code="1103" width="0.515279" height="0.444445" />
|
||||
<Char code="776" width="0.500002" height="0.660319" />
|
||||
<Char code="1122" width="0.7777815" height="0.75" >
|
||||
<Kern code="1046" val="-0.027779"/>
|
||||
<Kern code="1061" val="-0.027779"/>
|
||||
<Kern code="1054" val="-0.027779"/>
|
||||
<Kern code="1060" val="-0.027779"/>
|
||||
<Kern code="1138" val="-0.027779"/>
|
||||
<Kern code="1057" val="-0.027779"/>
|
||||
<Kern code="1028" val="-0.027779"/>
|
||||
<Kern code="1058" val="-0.083334"/>
|
||||
<Kern code="1066" val="-0.083334"/>
|
||||
<Kern code="1026" val="-0.083334"/>
|
||||
<Kern code="1035" val="-0.083334"/>
|
||||
<Kern code="1122" val="-0.083334"/>
|
||||
<Kern code="1063" val="-0.083334"/>
|
||||
<Kern code="1059" val="-0.027779"/>
|
||||
<Kern code="1140" val="-0.083334"/>
|
||||
<Kern code="1090" val="-0.027779"/>
|
||||
<Kern code="1098" val="-0.027779"/>
|
||||
<Kern code="1123" val="-0.027779"/>
|
||||
<Kern code="1095" val="-0.083334"/>
|
||||
</Char>
|
||||
<Char code="774" width="0.500002" height="0.652727" />
|
||||
<Char code="1123" width="0.500002" height="0.652727" >
|
||||
<Kern code="1091" val="-0.055555"/>
|
||||
<Kern code="1141" val="-0.055555"/>
|
||||
<Kern code="1090" val="-0.027779"/>
|
||||
<Kern code="1098" val="-0.027779"/>
|
||||
<Kern code="1123" val="-0.027779"/>
|
||||
<Kern code="1095" val="-0.083334"/>
|
||||
<Kern code="1086" val="-0.027779"/>
|
||||
<Kern code="1139" val="-0.027779"/>
|
||||
<Kern code="1092" val="-0.027779"/>
|
||||
<Kern code="1108" val="-0.027779"/>
|
||||
</Char>
|
||||
<Char code="171" width="0.666669" height="0.438889" />
|
||||
<Char code="305" width="0.23889" height="0.444445" />
|
||||
<Char code="187" width="0.666669" height="0.438889" />
|
||||
<Char code="1040" width="0.66667" height="0.694445" >
|
||||
<Kern code="1054" val="-0.027779"/>
|
||||
<Kern code="1060" val="-0.027779"/>
|
||||
<Kern code="1138" val="-0.027779"/>
|
||||
<Kern code="1057" val="-0.027779"/>
|
||||
<Kern code="1028" val="-0.027779"/>
|
||||
<Kern code="1058" val="-0.083334"/>
|
||||
<Kern code="1066" val="-0.083334"/>
|
||||
<Kern code="1026" val="-0.083334"/>
|
||||
<Kern code="1035" val="-0.083334"/>
|
||||
<Kern code="1122" val="-0.083334"/>
|
||||
<Kern code="1063" val="-0.083334"/>
|
||||
<Kern code="1059" val="-0.027779"/>
|
||||
<Kern code="1140" val="-0.083334"/>
|
||||
<Kern code="1090" val="-0.027779"/>
|
||||
<Kern code="1098" val="-0.027779"/>
|
||||
<Kern code="1123" val="-0.027779"/>
|
||||
<Kern code="1095" val="-0.083334"/>
|
||||
</Char>
|
||||
<Char code="1041" width="0.66667" height="0.694445" />
|
||||
<Char code="1062" width="0.711116" height="0.694445" depth="0.194445" >
|
||||
<Lig code="1061" ligCode="1063"/>
|
||||
<Lig code="1093" ligCode="1063"/>
|
||||
</Char>
|
||||
<Char code="1044" width="0.727783" height="0.694445" depth="0.194445" >
|
||||
<Lig code="1032" ligCode="1026"/>
|
||||
<Lig code="1112" ligCode="1026"/>
|
||||
</Char>
|
||||
<Char code="1045" width="0.597224" height="0.694445" >
|
||||
</Char>
|
||||
<Char code="1060" width="0.833336" height="0.694445" >
|
||||
<Kern code="1040" val="-0.027779"/>
|
||||
<Kern code="1044" val="-0.027779"/>
|
||||
<Kern code="1046" val="-0.027779"/>
|
||||
<Kern code="1061" val="-0.027779"/>
|
||||
<Kern code="1059" val="-0.027779"/>
|
||||
<Kern code="1140" val="-0.027779"/>
|
||||
</Char>
|
||||
<Char code="1043" width="0.541669" height="0.694445" >
|
||||
<Kern code="1040" val="-0.083334"/>
|
||||
<Kern code="1044" val="-0.083334"/>
|
||||
<Kern code="1051" val="-0.055555"/>
|
||||
<Kern code="1033" val="-0.055555"/>
|
||||
<Kern code="1072" val="-0.083334"/>
|
||||
<Kern code="1086" val="-0.083334"/>
|
||||
<Kern code="1139" val="-0.083334"/>
|
||||
<Kern code="1077" val="-0.083334"/>
|
||||
<Kern code="1105" val="-0.083334"/>
|
||||
<Kern code="1089" val="-0.083334"/>
|
||||
<Kern code="1108" val="-0.083334"/>
|
||||
<Kern code="1092" val="-0.083334"/>
|
||||
<Kern code="1076" val="-0.083334"/>
|
||||
<Kern code="1083" val="-0.083334"/>
|
||||
<Kern code="1113" val="-0.083334"/>
|
||||
<Kern code="1103" val="-0.083334"/>
|
||||
</Char>
|
||||
<Char code="1061" width="0.66667" height="0.694445" >
|
||||
<Kern code="1054" val="-0.027779"/>
|
||||
<Kern code="1060" val="-0.027779"/>
|
||||
<Kern code="1138" val="-0.027779"/>
|
||||
<Kern code="1057" val="-0.027779"/>
|
||||
<Kern code="1028" val="-0.027779"/>
|
||||
<Kern code="1095" val="-0.027779"/>
|
||||
<Kern code="1090" val="-0.027779"/>
|
||||
<Kern code="1098" val="-0.027779"/>
|
||||
<Kern code="1123" val="-0.027779"/>
|
||||
</Char>
|
||||
<Char code="1048" width="0.694448" height="0.694445" >
|
||||
</Char>
|
||||
<Char code="1032" width="0.472224" height="0.694445" >
|
||||
</Char>
|
||||
<Char code="1050" width="0.694448" height="0.694445" >
|
||||
<Lig code="1061" ligCode="1061"/>
|
||||
<Lig code="1093" ligCode="1061"/>
|
||||
<Kern code="1054" val="-0.027779"/>
|
||||
<Kern code="1060" val="-0.027779"/>
|
||||
<Kern code="1138" val="-0.027779"/>
|
||||
<Kern code="1057" val="-0.027779"/>
|
||||
<Kern code="1028" val="-0.027779"/>
|
||||
<Kern code="1095" val="-0.027779"/>
|
||||
<Kern code="1090" val="-0.027779"/>
|
||||
<Kern code="1098" val="-0.027779"/>
|
||||
<Kern code="1123" val="-0.027779"/>
|
||||
</Char>
|
||||
<Char code="1051" width="0.711116" height="0.694445" >
|
||||
<Lig code="1032" ligCode="1033"/>
|
||||
<Lig code="1112" ligCode="1033"/>
|
||||
</Char>
|
||||
<Char code="1052" width="0.875005" height="0.694445" />
|
||||
<Char code="1053" width="0.694448" height="0.694445" >
|
||||
<Lig code="1032" ligCode="1034"/>
|
||||
<Lig code="1112" ligCode="1034"/>
|
||||
</Char>
|
||||
<Char code="1054" width="0.736113" height="0.694445" >
|
||||
<Kern code="1040" val="-0.027779"/>
|
||||
<Kern code="1044" val="-0.027779"/>
|
||||
<Kern code="1046" val="-0.027779"/>
|
||||
<Kern code="1061" val="-0.027779"/>
|
||||
<Kern code="1059" val="-0.027779"/>
|
||||
<Kern code="1140" val="-0.027779"/>
|
||||
</Char>
|
||||
<Char code="1055" width="0.694448" height="0.694445" >
|
||||
</Char>
|
||||
<Char code="1063" width="0.694448" height="0.694445" />
|
||||
<Char code="1056" width="0.638891" height="0.694445" >
|
||||
<Kern code="1040" val="-0.083334"/>
|
||||
<Kern code="1044" val="-0.083334"/>
|
||||
<Kern code="1051" val="-0.083334"/>
|
||||
<Kern code="1033" val="-0.083334"/>
|
||||
<Kern code="1072" val="-0.027779"/>
|
||||
<Kern code="1086" val="-0.027779"/>
|
||||
<Kern code="1139" val="-0.027779"/>
|
||||
<Kern code="1077" val="-0.027779"/>
|
||||
<Kern code="1105" val="-0.027779"/>
|
||||
<Kern code="1076" val="-0.083334"/>
|
||||
<Kern code="1083" val="-0.083334"/>
|
||||
<Kern code="1113" val="-0.083334"/>
|
||||
</Char>
|
||||
<Char code="1057" width="0.638891" height="0.694445" >
|
||||
<Lig code="1061" ligCode="1064"/>
|
||||
<Lig code="1093" ligCode="1064"/>
|
||||
</Char>
|
||||
<Char code="1058" width="0.680557" height="0.694445" >
|
||||
<Lig code="1057" ligCode="1062"/>
|
||||
<Lig code="1089" ligCode="1062"/>
|
||||
<Kern code="1040" val="-0.083334"/>
|
||||
<Kern code="1044" val="-0.083334"/>
|
||||
<Kern code="1051" val="-0.055555"/>
|
||||
<Kern code="1033" val="-0.055555"/>
|
||||
<Kern code="1072" val="-0.083334"/>
|
||||
<Kern code="1086" val="-0.083334"/>
|
||||
<Kern code="1139" val="-0.083334"/>
|
||||
<Kern code="1077" val="-0.083334"/>
|
||||
<Kern code="1105" val="-0.083334"/>
|
||||
<Kern code="1089" val="-0.083334"/>
|
||||
<Kern code="1108" val="-0.083334"/>
|
||||
<Kern code="1092" val="-0.083334"/>
|
||||
<Kern code="1076" val="-0.083334"/>
|
||||
<Kern code="1083" val="-0.083334"/>
|
||||
<Kern code="1113" val="-0.083334"/>
|
||||
<Kern code="1103" val="-0.083334"/>
|
||||
</Char>
|
||||
<Char code="1059" width="0.66667" height="0.694445" italic="0.013888" >
|
||||
<Kern code="1040" val="-0.027779"/>
|
||||
<Kern code="1044" val="-0.055555"/>
|
||||
<Kern code="1051" val="-0.055555"/>
|
||||
<Kern code="1033" val="-0.055555"/>
|
||||
<Kern code="1054" val="-0.027779"/>
|
||||
<Kern code="1060" val="-0.027779"/>
|
||||
<Kern code="1138" val="-0.027779"/>
|
||||
<Kern code="1057" val="-0.027779"/>
|
||||
<Kern code="1028" val="-0.027779"/>
|
||||
<Kern code="1072" val="-0.027779"/>
|
||||
<Kern code="1086" val="-0.027779"/>
|
||||
<Kern code="1139" val="-0.027779"/>
|
||||
<Kern code="1077" val="-0.027779"/>
|
||||
<Kern code="1105" val="-0.027779"/>
|
||||
<Kern code="1089" val="-0.027779"/>
|
||||
<Kern code="1108" val="-0.027779"/>
|
||||
<Kern code="1076" val="-0.083334"/>
|
||||
<Kern code="1083" val="-0.083334"/>
|
||||
<Kern code="1113" val="-0.083334"/>
|
||||
<Kern code="1103" val="-0.083334"/>
|
||||
</Char>
|
||||
<Char code="1042" width="0.66667" height="0.694445" />
|
||||
<Char code="1065" width="1.100006" height="0.694445" depth="0.194445" />
|
||||
<Char code="1064" width="1.083339" height="0.694445" >
|
||||
<Lig code="1063" ligCode="1065"/>
|
||||
<Lig code="1095" ligCode="1065"/>
|
||||
<Lig code="1062" ligCode="0"/>
|
||||
<Lig code="1094" ligCode="0"/>
|
||||
</Char>
|
||||
<Char code="1067" width="0.888895" height="0.694445" >
|
||||
<Lig code="1040" ligCode="1071"/>
|
||||
<Lig code="1072" ligCode="1071"/>
|
||||
<Lig code="1059" ligCode="1070"/>
|
||||
<Lig code="1091" ligCode="1070"/>
|
||||
</Char>
|
||||
<Char code="1047" width="0.611113" height="0.694445" >
|
||||
<Lig code="1061" ligCode="1046"/>
|
||||
<Lig code="1093" ligCode="1046"/>
|
||||
</Char>
|
||||
<Char code="1068" width="0.66667" height="0.694445" >
|
||||
<Kern code="1046" val="-0.027779"/>
|
||||
<Kern code="1061" val="-0.027779"/>
|
||||
<Kern code="1054" val="-0.027779"/>
|
||||
<Kern code="1060" val="-0.027779"/>
|
||||
<Kern code="1138" val="-0.027779"/>
|
||||
<Kern code="1057" val="-0.027779"/>
|
||||
<Kern code="1028" val="-0.027779"/>
|
||||
<Kern code="1058" val="-0.083334"/>
|
||||
<Kern code="1066" val="-0.083334"/>
|
||||
<Kern code="1026" val="-0.083334"/>
|
||||
<Kern code="1035" val="-0.083334"/>
|
||||
<Kern code="1122" val="-0.083334"/>
|
||||
<Kern code="1063" val="-0.083334"/>
|
||||
<Kern code="1059" val="-0.027779"/>
|
||||
<Kern code="1140" val="-0.083334"/>
|
||||
<Kern code="1090" val="-0.027779"/>
|
||||
<Kern code="1098" val="-0.027779"/>
|
||||
<Kern code="1123" val="-0.027779"/>
|
||||
<Kern code="1095" val="-0.083334"/>
|
||||
</Char>
|
||||
<Char code="1066" width="0.868059" height="0.694445" >
|
||||
<Kern code="1046" val="-0.027779"/>
|
||||
<Kern code="1061" val="-0.027779"/>
|
||||
<Kern code="1054" val="-0.027779"/>
|
||||
<Kern code="1060" val="-0.027779"/>
|
||||
<Kern code="1138" val="-0.027779"/>
|
||||
<Kern code="1057" val="-0.027779"/>
|
||||
<Kern code="1028" val="-0.027779"/>
|
||||
<Kern code="1058" val="-0.083334"/>
|
||||
<Kern code="1066" val="-0.083334"/>
|
||||
<Kern code="1026" val="-0.083334"/>
|
||||
<Kern code="1035" val="-0.083334"/>
|
||||
<Kern code="1122" val="-0.083334"/>
|
||||
<Kern code="1063" val="-0.083334"/>
|
||||
<Kern code="1059" val="-0.027779"/>
|
||||
<Kern code="1140" val="-0.083334"/>
|
||||
<Kern code="1090" val="-0.027779"/>
|
||||
<Kern code="1098" val="-0.027779"/>
|
||||
<Kern code="1123" val="-0.027779"/>
|
||||
<Kern code="1095" val="-0.083334"/>
|
||||
</Char>
|
||||
<Char code="1072" width="0.480557" height="0.444445" >
|
||||
<Kern code="1095" val="-0.027779"/>
|
||||
<Kern code="1091" val="-0.027779"/>
|
||||
</Char>
|
||||
<Char code="1073" width="0.500002" height="0.694445" >
|
||||
<Kern code="1076" val="-0.027779"/>
|
||||
<Kern code="1078" val="-0.027779"/>
|
||||
<Kern code="1093" val="-0.027779"/>
|
||||
<Kern code="1103" val="-0.027779"/>
|
||||
</Char>
|
||||
<Char code="1094" width="0.5486145" height="0.444445" depth="0.162038" >
|
||||
<Lig code="1093" ligCode="1095"/>
|
||||
</Char>
|
||||
<Char code="1076" width="0.538892" height="0.444445" depth="0.162038" >
|
||||
<Lig code="1112" ligCode="1106"/>
|
||||
</Char>
|
||||
<Char code="1077" width="0.444446" height="0.444445" >
|
||||
</Char>
|
||||
<Char code="1092" width="0.76667" height="0.694445" depth="0.194445" >
|
||||
<Kern code="1076" val="-0.027779"/>
|
||||
<Kern code="1078" val="-0.027779"/>
|
||||
<Kern code="1093" val="-0.027779"/>
|
||||
<Kern code="1103" val="-0.027779"/>
|
||||
</Char>
|
||||
<Char code="1075" width="0.404167" height="0.444445" italic="0.013888" >
|
||||
<Kern code="1076" val="-0.027779"/>
|
||||
<Kern code="1083" val="-0.027779"/>
|
||||
<Kern code="1113" val="-0.027779"/>
|
||||
<Kern code="1103" val="-0.027779"/>
|
||||
</Char>
|
||||
<Char code="1093" width="0.461113" height="0.444445" >
|
||||
<Kern code="1072" val="-0.027779"/>
|
||||
<Kern code="1086" val="-0.027779"/>
|
||||
<Kern code="1139" val="-0.027779"/>
|
||||
<Kern code="1089" val="-0.027779"/>
|
||||
<Kern code="1108" val="-0.027779"/>
|
||||
<Kern code="1077" val="-0.027779"/>
|
||||
<Kern code="1105" val="-0.027779"/>
|
||||
</Char>
|
||||
<Char code="1080" width="0.537503" height="0.444445" >
|
||||
</Char>
|
||||
<Char code="1112" width="0.266668" height="0.679365" depth="0.194445" >
|
||||
</Char>
|
||||
<Char code="1082" width="0.488892" height="0.444445" >
|
||||
<Lig code="1093" ligCode="1093"/>
|
||||
<Kern code="1072" val="-0.027779"/>
|
||||
<Kern code="1086" val="-0.027779"/>
|
||||
<Kern code="1139" val="-0.027779"/>
|
||||
<Kern code="1089" val="-0.027779"/>
|
||||
<Kern code="1108" val="-0.027779"/>
|
||||
<Kern code="1077" val="-0.027779"/>
|
||||
<Kern code="1105" val="-0.027779"/>
|
||||
</Char>
|
||||
<Char code="1083" width="0.527781" height="0.444445" >
|
||||
<Lig code="1112" ligCode="1113"/>
|
||||
</Char>
|
||||
<Char code="1084" width="0.669447" height="0.444445" />
|
||||
<Char code="1085" width="0.516668" height="0.444445" >
|
||||
<Lig code="1112" ligCode="1114"/>
|
||||
</Char>
|
||||
<Char code="1086" width="0.500002" height="0.444445" >
|
||||
<Kern code="1076" val="-0.027779"/>
|
||||
<Kern code="1078" val="-0.027779"/>
|
||||
<Kern code="1093" val="-0.027779"/>
|
||||
<Kern code="1103" val="-0.027779"/>
|
||||
</Char>
|
||||
<Char code="1087" width="0.516668" height="0.444445" >
|
||||
</Char>
|
||||
<Char code="1095" width="0.537503" height="0.444445" />
|
||||
<Char code="1088" width="0.516668" height="0.444445" depth="0.194445" >
|
||||
<Kern code="1076" val="-0.027779"/>
|
||||
<Kern code="1078" val="-0.027779"/>
|
||||
<Kern code="1093" val="-0.027779"/>
|
||||
<Kern code="1103" val="-0.027779"/>
|
||||
</Char>
|
||||
<Char code="1089" width="0.444446" height="0.444445" >
|
||||
<Lig code="1093" ligCode="1096"/>
|
||||
<Kern code="1076" val="-0.027779"/>
|
||||
<Kern code="1078" val="-0.027779"/>
|
||||
<Kern code="1093" val="-0.027779"/>
|
||||
<Kern code="1103" val="-0.027779"/>
|
||||
</Char>
|
||||
<Char code="1090" width="0.458334" height="0.444445" italic="0.019444" >
|
||||
<Lig code="1089" ligCode="1094"/>
|
||||
<Kern code="1076" val="-0.027779"/>
|
||||
<Kern code="1083" val="-0.027779"/>
|
||||
<Kern code="1113" val="-0.027779"/>
|
||||
<Kern code="1103" val="-0.027779"/>
|
||||
</Char>
|
||||
<Char code="1091" width="0.461113" height="0.444445" depth="0.194445" italic="0.013888" >
|
||||
<Kern code="1072" val="-0.027779"/>
|
||||
<Kern code="1086" val="-0.027779"/>
|
||||
<Kern code="1139" val="-0.027779"/>
|
||||
<Kern code="1089" val="-0.027779"/>
|
||||
<Kern code="1108" val="-0.027779"/>
|
||||
<Kern code="1077" val="-0.027779"/>
|
||||
<Kern code="1105" val="-0.027779"/>
|
||||
<Kern code="1103" val="-0.027779"/>
|
||||
<Kern code="1076" val="-0.055555"/>
|
||||
<Kern code="1083" val="-0.055555"/>
|
||||
<Kern code="1113" val="-0.055555"/>
|
||||
</Char>
|
||||
<Char code="1074" width="0.480557" height="0.444445" />
|
||||
<Char code="1097" width="0.7777815" height="0.444445" depth="0.162038" />
|
||||
<Char code="1096" width="0.76667" height="0.444445" >
|
||||
<Lig code="1095" ligCode="1097"/>
|
||||
<Lig code="1094" ligCode="0"/>
|
||||
</Char>
|
||||
<Char code="1099" width="0.683336" height="0.444445" >
|
||||
<Lig code="1072" ligCode="1103"/>
|
||||
<Lig code="1091" ligCode="1102"/>
|
||||
</Char>
|
||||
<Char code="1079" width="0.444446" height="0.444445" italic="0.002777" >
|
||||
<Lig code="1093" ligCode="1078"/>
|
||||
</Char>
|
||||
<Char code="1100" width="0.480557" height="0.444445" >
|
||||
<Kern code="1091" val="-0.055555"/>
|
||||
<Kern code="1141" val="-0.055555"/>
|
||||
<Kern code="1090" val="-0.027779"/>
|
||||
<Kern code="1098" val="-0.027779"/>
|
||||
<Kern code="1123" val="-0.027779"/>
|
||||
<Kern code="1095" val="-0.083334"/>
|
||||
<Kern code="1086" val="-0.027779"/>
|
||||
<Kern code="1139" val="-0.027779"/>
|
||||
<Kern code="1092" val="-0.027779"/>
|
||||
<Kern code="1108" val="-0.027779"/>
|
||||
</Char>
|
||||
<Char code="1098" width="0.590279" height="0.444445" >
|
||||
<Kern code="1091" val="-0.055555"/>
|
||||
<Kern code="1141" val="-0.055555"/>
|
||||
<Kern code="1090" val="-0.027779"/>
|
||||
<Kern code="1098" val="-0.027779"/>
|
||||
<Kern code="1123" val="-0.027779"/>
|
||||
<Kern code="1095" val="-0.083334"/>
|
||||
<Kern code="1086" val="-0.027779"/>
|
||||
<Kern code="1139" val="-0.027779"/>
|
||||
<Kern code="1092" val="-0.027779"/>
|
||||
<Kern code="1108" val="-0.027779"/>
|
||||
</Char>
|
||||
</Font>
|
||||
|
||||
BIN
3rdparty/MicroTeX/res/cyrillic/wnssbx10.ttf
vendored
Normal file
BIN
3rdparty/MicroTeX/res/cyrillic/wnssbx10.ttf
vendored
Normal file
Binary file not shown.
605
3rdparty/MicroTeX/res/cyrillic/wnssbx10.xml
vendored
Normal file
605
3rdparty/MicroTeX/res/cyrillic/wnssbx10.xml
vendored
Normal file
@ -0,0 +1,605 @@
|
||||
<Font name="wnssbx10.ttf" id="wnssbx10" space="0.366669" xHeight="0.458333" quad="1.100006" unicode="95" romanVersion="wnbx10" ttVersion="wntt10">
|
||||
<Char code="1034" width="1.115285" height="0.694445" >
|
||||
<Kern code="1046" val="-0.030556"/>
|
||||
<Kern code="1061" val="-0.030556"/>
|
||||
<Kern code="1054" val="-0.030556"/>
|
||||
<Kern code="1060" val="-0.030556"/>
|
||||
<Kern code="1138" val="-0.030556"/>
|
||||
<Kern code="1057" val="-0.030556"/>
|
||||
<Kern code="1028" val="-0.030556"/>
|
||||
<Kern code="1058" val="-0.091667"/>
|
||||
<Kern code="1066" val="-0.091667"/>
|
||||
<Kern code="1026" val="-0.091667"/>
|
||||
<Kern code="1035" val="-0.091667"/>
|
||||
<Kern code="1122" val="-0.091667"/>
|
||||
<Kern code="1063" val="-0.091667"/>
|
||||
<Kern code="1059" val="-0.030556"/>
|
||||
<Kern code="1140" val="-0.091667"/>
|
||||
<Kern code="1090" val="-0.030556"/>
|
||||
<Kern code="1098" val="-0.030556"/>
|
||||
<Kern code="1123" val="-0.030556"/>
|
||||
<Kern code="1095" val="-0.091667"/>
|
||||
</Char>
|
||||
<Char code="1033" width="1.15834" height="0.694445" >
|
||||
<Kern code="1046" val="-0.030556"/>
|
||||
<Kern code="1061" val="-0.030556"/>
|
||||
<Kern code="1054" val="-0.030556"/>
|
||||
<Kern code="1060" val="-0.030556"/>
|
||||
<Kern code="1138" val="-0.030556"/>
|
||||
<Kern code="1057" val="-0.030556"/>
|
||||
<Kern code="1028" val="-0.030556"/>
|
||||
<Kern code="1058" val="-0.091667"/>
|
||||
<Kern code="1066" val="-0.091667"/>
|
||||
<Kern code="1026" val="-0.091667"/>
|
||||
<Kern code="1035" val="-0.091667"/>
|
||||
<Kern code="1122" val="-0.091667"/>
|
||||
<Kern code="1063" val="-0.091667"/>
|
||||
<Kern code="1059" val="-0.030556"/>
|
||||
<Kern code="1140" val="-0.091667"/>
|
||||
<Kern code="1090" val="-0.030556"/>
|
||||
<Kern code="1098" val="-0.030556"/>
|
||||
<Kern code="1123" val="-0.030556"/>
|
||||
<Kern code="1095" val="-0.091667"/>
|
||||
</Char>
|
||||
<Char code="1039" width="0.763893" height="0.694445" depth="0.194445" />
|
||||
<Char code="1069" width="0.702782" height="0.694445" >
|
||||
<Kern code="1040" val="-0.030556"/>
|
||||
<Kern code="1044" val="-0.030556"/>
|
||||
<Kern code="1046" val="-0.030556"/>
|
||||
<Kern code="1061" val="-0.030556"/>
|
||||
<Kern code="1059" val="-0.030556"/>
|
||||
<Kern code="1140" val="-0.030556"/>
|
||||
</Char>
|
||||
<Char code="1030" width="0.330557" height="0.694445" >
|
||||
<Kern code="1030" val="0.030556"/>
|
||||
</Char>
|
||||
<Char code="1028" width="0.702782" height="0.694445" />
|
||||
<Char code="1026" width="0.886116" height="0.694445" >
|
||||
<Kern code="1046" val="-0.030556"/>
|
||||
<Kern code="1061" val="-0.030556"/>
|
||||
<Kern code="1054" val="-0.030556"/>
|
||||
<Kern code="1060" val="-0.030556"/>
|
||||
<Kern code="1138" val="-0.030556"/>
|
||||
<Kern code="1057" val="-0.030556"/>
|
||||
<Kern code="1028" val="-0.030556"/>
|
||||
<Kern code="1058" val="-0.091667"/>
|
||||
<Kern code="1066" val="-0.091667"/>
|
||||
<Kern code="1026" val="-0.091667"/>
|
||||
<Kern code="1035" val="-0.091667"/>
|
||||
<Kern code="1122" val="-0.091667"/>
|
||||
<Kern code="1063" val="-0.091667"/>
|
||||
<Kern code="1059" val="-0.030556"/>
|
||||
<Kern code="1140" val="-0.091667"/>
|
||||
<Kern code="1090" val="-0.030556"/>
|
||||
<Kern code="1098" val="-0.030556"/>
|
||||
<Kern code="1123" val="-0.030556"/>
|
||||
<Kern code="1095" val="-0.091667"/>
|
||||
</Char>
|
||||
<Char code="1035" width="0.840283" height="0.694445" />
|
||||
<Char code="1114" width="0.845839" height="0.458333" >
|
||||
<Kern code="1091" val="-0.061111"/>
|
||||
<Kern code="1141" val="-0.061111"/>
|
||||
<Kern code="1090" val="-0.030556"/>
|
||||
<Kern code="1098" val="-0.030556"/>
|
||||
<Kern code="1123" val="-0.030556"/>
|
||||
<Kern code="1095" val="-0.091667"/>
|
||||
<Kern code="1086" val="-0.030556"/>
|
||||
<Kern code="1139" val="-0.030556"/>
|
||||
<Kern code="1092" val="-0.030556"/>
|
||||
<Kern code="1108" val="-0.030556"/>
|
||||
</Char>
|
||||
<Char code="1113" width="0.852783" height="0.458333" >
|
||||
<Kern code="1091" val="-0.061111"/>
|
||||
<Kern code="1141" val="-0.061111"/>
|
||||
<Kern code="1090" val="-0.030556"/>
|
||||
<Kern code="1098" val="-0.030556"/>
|
||||
<Kern code="1123" val="-0.030556"/>
|
||||
<Kern code="1095" val="-0.091667"/>
|
||||
<Kern code="1086" val="-0.030556"/>
|
||||
<Kern code="1139" val="-0.030556"/>
|
||||
<Kern code="1092" val="-0.030556"/>
|
||||
<Kern code="1108" val="-0.030556"/>
|
||||
</Char>
|
||||
<Char code="1119" width="0.59167" height="0.458333" depth="0.162038" />
|
||||
<Char code="1101" width="0.488892" height="0.458333" >
|
||||
<Kern code="1076" val="-0.030556"/>
|
||||
<Kern code="1078" val="-0.030556"/>
|
||||
<Kern code="1093" val="-0.030556"/>
|
||||
<Kern code="1103" val="-0.030556"/>
|
||||
</Char>
|
||||
<Char code="1110" width="0.255557" height="0.694445" />
|
||||
<Char code="1108" width="0.48278" height="0.458333" />
|
||||
<Char code="1106" width="0.530559" height="0.694445" depth="0.194445" />
|
||||
<Char code="1115" width="0.561114" height="0.694445" />
|
||||
<Char code="1070" width="1.143062" height="0.694445" >
|
||||
<Kern code="1040" val="-0.030556"/>
|
||||
<Kern code="1044" val="-0.030556"/>
|
||||
<Kern code="1046" val="-0.030556"/>
|
||||
<Kern code="1061" val="-0.030556"/>
|
||||
<Kern code="1059" val="-0.030556"/>
|
||||
<Kern code="1140" val="-0.030556"/>
|
||||
</Char>
|
||||
<Char code="1046" width="1.214895" height="0.694445" >
|
||||
<Kern code="1054" val="-0.030556"/>
|
||||
<Kern code="1060" val="-0.030556"/>
|
||||
<Kern code="1138" val="-0.030556"/>
|
||||
<Kern code="1057" val="-0.030556"/>
|
||||
<Kern code="1028" val="-0.030556"/>
|
||||
<Kern code="1095" val="-0.030556"/>
|
||||
<Kern code="1090" val="-0.030556"/>
|
||||
<Kern code="1098" val="-0.030556"/>
|
||||
<Kern code="1123" val="-0.030556"/>
|
||||
</Char>
|
||||
<Char code="1049" width="0.763893" height="0.902727" />
|
||||
<Char code="1025" width="0.64167" height="0.902727" />
|
||||
<Char code="1140" width="0.794449" height="0.694445" italic="0.015279" >
|
||||
<Kern code="1040" val="-0.091667"/>
|
||||
<Kern code="1044" val="-0.061111"/>
|
||||
<Kern code="1051" val="-0.061111"/>
|
||||
<Kern code="1033" val="-0.061111"/>
|
||||
<Kern code="1054" val="-0.030556"/>
|
||||
<Kern code="1060" val="-0.030556"/>
|
||||
<Kern code="1138" val="-0.030556"/>
|
||||
<Kern code="1057" val="-0.030556"/>
|
||||
<Kern code="1028" val="-0.030556"/>
|
||||
<Kern code="1072" val="-0.030556"/>
|
||||
<Kern code="1086" val="-0.030556"/>
|
||||
<Kern code="1139" val="-0.030556"/>
|
||||
<Kern code="1077" val="-0.030556"/>
|
||||
<Kern code="1105" val="-0.030556"/>
|
||||
<Kern code="1076" val="-0.091667"/>
|
||||
<Kern code="1083" val="-0.091667"/>
|
||||
<Kern code="1113" val="-0.091667"/>
|
||||
<Kern code="1103" val="-0.091667"/>
|
||||
</Char>
|
||||
<Char code="1138" width="0.85556" height="0.694445" >
|
||||
<Kern code="1040" val="-0.030556"/>
|
||||
<Kern code="1044" val="-0.030556"/>
|
||||
<Kern code="1046" val="-0.030556"/>
|
||||
<Kern code="1061" val="-0.030556"/>
|
||||
<Kern code="1059" val="-0.030556"/>
|
||||
<Kern code="1140" val="-0.030556"/>
|
||||
</Char>
|
||||
<Char code="1029" width="0.6111145" height="0.694445" />
|
||||
<Char code="1071" width="0.702782" height="0.694445" />
|
||||
<Char code="1102" width="0.800005" height="0.458333" >
|
||||
<Kern code="1076" val="-0.030556"/>
|
||||
<Kern code="1078" val="-0.030556"/>
|
||||
<Kern code="1093" val="-0.030556"/>
|
||||
<Kern code="1103" val="-0.030556"/>
|
||||
</Char>
|
||||
<Char code="1078" width="0.80556" height="0.458333" >
|
||||
<Kern code="1072" val="-0.030556"/>
|
||||
<Kern code="1086" val="-0.030556"/>
|
||||
<Kern code="1139" val="-0.030556"/>
|
||||
<Kern code="1089" val="-0.030556"/>
|
||||
<Kern code="1108" val="-0.030556"/>
|
||||
<Kern code="1077" val="-0.030556"/>
|
||||
<Kern code="1105" val="-0.030556"/>
|
||||
</Char>
|
||||
<Char code="1081" width="0.59167" height="0.6666155" />
|
||||
<Char code="1105" width="0.511114" height="0.694445" />
|
||||
<Char code="1141" width="0.562503" height="0.458333" italic="0.015279" >
|
||||
<Kern code="1072" val="-0.030556"/>
|
||||
<Kern code="1086" val="-0.030556"/>
|
||||
<Kern code="1139" val="-0.030556"/>
|
||||
<Kern code="1089" val="-0.030556"/>
|
||||
<Kern code="1108" val="-0.030556"/>
|
||||
<Kern code="1077" val="-0.030556"/>
|
||||
<Kern code="1105" val="-0.030556"/>
|
||||
<Kern code="1103" val="-0.030556"/>
|
||||
<Kern code="1076" val="-0.061111"/>
|
||||
<Kern code="1083" val="-0.061111"/>
|
||||
<Kern code="1113" val="-0.061111"/>
|
||||
</Char>
|
||||
<Char code="1139" width="0.550003" height="0.458333" >
|
||||
<Kern code="1076" val="-0.030556"/>
|
||||
<Kern code="1078" val="-0.030556"/>
|
||||
<Kern code="1093" val="-0.030556"/>
|
||||
<Kern code="1103" val="-0.030556"/>
|
||||
</Char>
|
||||
<Char code="1109" width="0.421669" height="0.458333" />
|
||||
<Char code="1103" width="0.555559" height="0.458333" />
|
||||
<Char code="776" width="0.550003" height="0.694445" />
|
||||
<Char code="1122" width="0.85556" height="0.75" >
|
||||
<Kern code="1046" val="-0.030556"/>
|
||||
<Kern code="1061" val="-0.030556"/>
|
||||
<Kern code="1054" val="-0.030556"/>
|
||||
<Kern code="1060" val="-0.030556"/>
|
||||
<Kern code="1138" val="-0.030556"/>
|
||||
<Kern code="1057" val="-0.030556"/>
|
||||
<Kern code="1028" val="-0.030556"/>
|
||||
<Kern code="1058" val="-0.091667"/>
|
||||
<Kern code="1066" val="-0.091667"/>
|
||||
<Kern code="1026" val="-0.091667"/>
|
||||
<Kern code="1035" val="-0.091667"/>
|
||||
<Kern code="1122" val="-0.091667"/>
|
||||
<Kern code="1063" val="-0.091667"/>
|
||||
<Kern code="1059" val="-0.030556"/>
|
||||
<Kern code="1140" val="-0.091667"/>
|
||||
<Kern code="1090" val="-0.030556"/>
|
||||
<Kern code="1098" val="-0.030556"/>
|
||||
<Kern code="1123" val="-0.030556"/>
|
||||
<Kern code="1095" val="-0.091667"/>
|
||||
</Char>
|
||||
<Char code="774" width="0.550003" height="0.6666155" />
|
||||
<Char code="1123" width="0.550003" height="0.6666155" >
|
||||
<Kern code="1091" val="-0.061111"/>
|
||||
<Kern code="1141" val="-0.061111"/>
|
||||
<Kern code="1090" val="-0.030556"/>
|
||||
<Kern code="1098" val="-0.030556"/>
|
||||
<Kern code="1123" val="-0.030556"/>
|
||||
<Kern code="1095" val="-0.091667"/>
|
||||
<Kern code="1086" val="-0.030556"/>
|
||||
<Kern code="1139" val="-0.030556"/>
|
||||
<Kern code="1092" val="-0.030556"/>
|
||||
<Kern code="1108" val="-0.030556"/>
|
||||
</Char>
|
||||
<Char code="171" width="0.733337" height="0.5" />
|
||||
<Char code="305" width="0.255557" height="0.458333" />
|
||||
<Char code="187" width="0.733337" height="0.5" />
|
||||
<Char code="1040" width="0.733337" height="0.694445" >
|
||||
<Kern code="1054" val="-0.030556"/>
|
||||
<Kern code="1060" val="-0.030556"/>
|
||||
<Kern code="1138" val="-0.030556"/>
|
||||
<Kern code="1057" val="-0.030556"/>
|
||||
<Kern code="1028" val="-0.030556"/>
|
||||
<Kern code="1058" val="-0.091667"/>
|
||||
<Kern code="1066" val="-0.091667"/>
|
||||
<Kern code="1026" val="-0.091667"/>
|
||||
<Kern code="1035" val="-0.091667"/>
|
||||
<Kern code="1122" val="-0.091667"/>
|
||||
<Kern code="1063" val="-0.091667"/>
|
||||
<Kern code="1059" val="-0.030556"/>
|
||||
<Kern code="1140" val="-0.091667"/>
|
||||
<Kern code="1090" val="-0.030556"/>
|
||||
<Kern code="1098" val="-0.030556"/>
|
||||
<Kern code="1123" val="-0.030556"/>
|
||||
<Kern code="1095" val="-0.091667"/>
|
||||
</Char>
|
||||
<Char code="1041" width="0.733337" height="0.694445" />
|
||||
<Char code="1062" width="0.806949" height="0.694445" depth="0.194445" >
|
||||
<Lig code="1061" ligCode="1063"/>
|
||||
<Lig code="1093" ligCode="1063"/>
|
||||
</Char>
|
||||
<Char code="1044" width="0.850004" height="0.694445" depth="0.194445" >
|
||||
<Lig code="1032" ligCode="1026"/>
|
||||
<Lig code="1112" ligCode="1026"/>
|
||||
</Char>
|
||||
<Char code="1045" width="0.64167" height="0.694445" >
|
||||
</Char>
|
||||
<Char code="1060" width="0.916672" height="0.694445" >
|
||||
<Kern code="1040" val="-0.030556"/>
|
||||
<Kern code="1044" val="-0.030556"/>
|
||||
<Kern code="1046" val="-0.030556"/>
|
||||
<Kern code="1061" val="-0.030556"/>
|
||||
<Kern code="1059" val="-0.030556"/>
|
||||
<Kern code="1140" val="-0.030556"/>
|
||||
</Char>
|
||||
<Char code="1043" width="0.580559" height="0.694445" >
|
||||
<Kern code="1040" val="-0.091667"/>
|
||||
<Kern code="1044" val="-0.091667"/>
|
||||
<Kern code="1051" val="-0.061111"/>
|
||||
<Kern code="1033" val="-0.061111"/>
|
||||
<Kern code="1072" val="-0.091667"/>
|
||||
<Kern code="1086" val="-0.091667"/>
|
||||
<Kern code="1139" val="-0.091667"/>
|
||||
<Kern code="1077" val="-0.091667"/>
|
||||
<Kern code="1105" val="-0.091667"/>
|
||||
<Kern code="1089" val="-0.091667"/>
|
||||
<Kern code="1108" val="-0.091667"/>
|
||||
<Kern code="1092" val="-0.091667"/>
|
||||
<Kern code="1076" val="-0.091667"/>
|
||||
<Kern code="1083" val="-0.091667"/>
|
||||
<Kern code="1113" val="-0.091667"/>
|
||||
<Kern code="1103" val="-0.091667"/>
|
||||
</Char>
|
||||
<Char code="1061" width="0.733337" height="0.694445" >
|
||||
<Kern code="1054" val="-0.030556"/>
|
||||
<Kern code="1060" val="-0.030556"/>
|
||||
<Kern code="1138" val="-0.030556"/>
|
||||
<Kern code="1057" val="-0.030556"/>
|
||||
<Kern code="1028" val="-0.030556"/>
|
||||
<Kern code="1095" val="-0.030556"/>
|
||||
<Kern code="1090" val="-0.030556"/>
|
||||
<Kern code="1098" val="-0.030556"/>
|
||||
<Kern code="1123" val="-0.030556"/>
|
||||
</Char>
|
||||
<Char code="1048" width="0.763893" height="0.694445" >
|
||||
</Char>
|
||||
<Char code="1032" width="0.519447" height="0.694445" >
|
||||
</Char>
|
||||
<Char code="1050" width="0.763893" height="0.694445" >
|
||||
<Lig code="1061" ligCode="1061"/>
|
||||
<Lig code="1093" ligCode="1061"/>
|
||||
<Kern code="1054" val="-0.030556"/>
|
||||
<Kern code="1060" val="-0.030556"/>
|
||||
<Kern code="1138" val="-0.030556"/>
|
||||
<Kern code="1057" val="-0.030556"/>
|
||||
<Kern code="1028" val="-0.030556"/>
|
||||
<Kern code="1095" val="-0.030556"/>
|
||||
<Kern code="1090" val="-0.030556"/>
|
||||
<Kern code="1098" val="-0.030556"/>
|
||||
<Kern code="1123" val="-0.030556"/>
|
||||
</Char>
|
||||
<Char code="1051" width="0.806949" height="0.694445" >
|
||||
<Lig code="1032" ligCode="1033"/>
|
||||
<Lig code="1112" ligCode="1033"/>
|
||||
</Char>
|
||||
<Char code="1052" width="0.977783" height="0.694445" />
|
||||
<Char code="1053" width="0.763893" height="0.694445" >
|
||||
<Lig code="1032" ligCode="1034"/>
|
||||
<Lig code="1112" ligCode="1034"/>
|
||||
</Char>
|
||||
<Char code="1054" width="0.794449" height="0.694445" >
|
||||
<Kern code="1040" val="-0.030556"/>
|
||||
<Kern code="1044" val="-0.030556"/>
|
||||
<Kern code="1046" val="-0.030556"/>
|
||||
<Kern code="1061" val="-0.030556"/>
|
||||
<Kern code="1059" val="-0.030556"/>
|
||||
<Kern code="1140" val="-0.030556"/>
|
||||
</Char>
|
||||
<Char code="1055" width="0.763893" height="0.694445" >
|
||||
</Char>
|
||||
<Char code="1063" width="0.763893" height="0.694445" />
|
||||
<Char code="1056" width="0.702782" height="0.694445" >
|
||||
<Kern code="1040" val="-0.091667"/>
|
||||
<Kern code="1044" val="-0.091667"/>
|
||||
<Kern code="1051" val="-0.091667"/>
|
||||
<Kern code="1033" val="-0.091667"/>
|
||||
<Kern code="1072" val="-0.030556"/>
|
||||
<Kern code="1086" val="-0.030556"/>
|
||||
<Kern code="1139" val="-0.030556"/>
|
||||
<Kern code="1077" val="-0.030556"/>
|
||||
<Kern code="1105" val="-0.030556"/>
|
||||
<Kern code="1076" val="-0.091667"/>
|
||||
<Kern code="1083" val="-0.091667"/>
|
||||
<Kern code="1113" val="-0.091667"/>
|
||||
</Char>
|
||||
<Char code="1057" width="0.702782" height="0.694445" >
|
||||
<Lig code="1061" ligCode="1064"/>
|
||||
<Lig code="1093" ligCode="1064"/>
|
||||
</Char>
|
||||
<Char code="1058" width="0.733337" height="0.694445" >
|
||||
<Lig code="1057" ligCode="1062"/>
|
||||
<Lig code="1089" ligCode="1062"/>
|
||||
<Kern code="1040" val="-0.091667"/>
|
||||
<Kern code="1044" val="-0.091667"/>
|
||||
<Kern code="1051" val="-0.061111"/>
|
||||
<Kern code="1033" val="-0.061111"/>
|
||||
<Kern code="1072" val="-0.091667"/>
|
||||
<Kern code="1086" val="-0.091667"/>
|
||||
<Kern code="1139" val="-0.091667"/>
|
||||
<Kern code="1077" val="-0.091667"/>
|
||||
<Kern code="1105" val="-0.091667"/>
|
||||
<Kern code="1089" val="-0.091667"/>
|
||||
<Kern code="1108" val="-0.091667"/>
|
||||
<Kern code="1092" val="-0.091667"/>
|
||||
<Kern code="1076" val="-0.091667"/>
|
||||
<Kern code="1083" val="-0.091667"/>
|
||||
<Kern code="1113" val="-0.091667"/>
|
||||
<Kern code="1103" val="-0.091667"/>
|
||||
</Char>
|
||||
<Char code="1059" width="0.733337" height="0.694445" italic="0.015279" >
|
||||
<Kern code="1040" val="-0.030556"/>
|
||||
<Kern code="1044" val="-0.061111"/>
|
||||
<Kern code="1051" val="-0.061111"/>
|
||||
<Kern code="1033" val="-0.061111"/>
|
||||
<Kern code="1054" val="-0.030556"/>
|
||||
<Kern code="1060" val="-0.030556"/>
|
||||
<Kern code="1138" val="-0.030556"/>
|
||||
<Kern code="1057" val="-0.030556"/>
|
||||
<Kern code="1028" val="-0.030556"/>
|
||||
<Kern code="1072" val="-0.030556"/>
|
||||
<Kern code="1086" val="-0.030556"/>
|
||||
<Kern code="1139" val="-0.030556"/>
|
||||
<Kern code="1077" val="-0.030556"/>
|
||||
<Kern code="1105" val="-0.030556"/>
|
||||
<Kern code="1089" val="-0.030556"/>
|
||||
<Kern code="1108" val="-0.030556"/>
|
||||
<Kern code="1076" val="-0.091667"/>
|
||||
<Kern code="1083" val="-0.091667"/>
|
||||
<Kern code="1113" val="-0.091667"/>
|
||||
<Kern code="1103" val="-0.091667"/>
|
||||
</Char>
|
||||
<Char code="1042" width="0.733337" height="0.694445" />
|
||||
<Char code="1065" width="1.250008" height="0.694445" depth="0.194445" />
|
||||
<Char code="1064" width="1.206952" height="0.694445" >
|
||||
<Lig code="1063" ligCode="1065"/>
|
||||
<Lig code="1095" ligCode="1065"/>
|
||||
<Lig code="1062" ligCode="0"/>
|
||||
<Lig code="1094" ligCode="0"/>
|
||||
</Char>
|
||||
<Char code="1067" width="0.977783" height="0.694445" >
|
||||
<Lig code="1040" ligCode="1071"/>
|
||||
<Lig code="1072" ligCode="1071"/>
|
||||
<Lig code="1059" ligCode="1070"/>
|
||||
<Lig code="1091" ligCode="1070"/>
|
||||
</Char>
|
||||
<Char code="1047" width="0.672226" height="0.694445" >
|
||||
<Lig code="1061" ligCode="1046"/>
|
||||
<Lig code="1093" ligCode="1046"/>
|
||||
</Char>
|
||||
<Char code="1068" width="0.733337" height="0.694445" >
|
||||
<Kern code="1046" val="-0.030556"/>
|
||||
<Kern code="1061" val="-0.030556"/>
|
||||
<Kern code="1054" val="-0.030556"/>
|
||||
<Kern code="1060" val="-0.030556"/>
|
||||
<Kern code="1138" val="-0.030556"/>
|
||||
<Kern code="1057" val="-0.030556"/>
|
||||
<Kern code="1028" val="-0.030556"/>
|
||||
<Kern code="1058" val="-0.091667"/>
|
||||
<Kern code="1066" val="-0.091667"/>
|
||||
<Kern code="1026" val="-0.091667"/>
|
||||
<Kern code="1035" val="-0.091667"/>
|
||||
<Kern code="1122" val="-0.091667"/>
|
||||
<Kern code="1063" val="-0.091667"/>
|
||||
<Kern code="1059" val="-0.030556"/>
|
||||
<Kern code="1140" val="-0.091667"/>
|
||||
<Kern code="1090" val="-0.030556"/>
|
||||
<Kern code="1098" val="-0.030556"/>
|
||||
<Kern code="1123" val="-0.030556"/>
|
||||
<Kern code="1095" val="-0.091667"/>
|
||||
</Char>
|
||||
<Char code="1066" width="0.940283" height="0.694445" >
|
||||
<Kern code="1046" val="-0.030556"/>
|
||||
<Kern code="1061" val="-0.030556"/>
|
||||
<Kern code="1054" val="-0.030556"/>
|
||||
<Kern code="1060" val="-0.030556"/>
|
||||
<Kern code="1138" val="-0.030556"/>
|
||||
<Kern code="1057" val="-0.030556"/>
|
||||
<Kern code="1028" val="-0.030556"/>
|
||||
<Kern code="1058" val="-0.091667"/>
|
||||
<Kern code="1066" val="-0.091667"/>
|
||||
<Kern code="1026" val="-0.091667"/>
|
||||
<Kern code="1035" val="-0.091667"/>
|
||||
<Kern code="1122" val="-0.091667"/>
|
||||
<Kern code="1063" val="-0.091667"/>
|
||||
<Kern code="1059" val="-0.030556"/>
|
||||
<Kern code="1140" val="-0.091667"/>
|
||||
<Kern code="1090" val="-0.030556"/>
|
||||
<Kern code="1098" val="-0.030556"/>
|
||||
<Kern code="1123" val="-0.030556"/>
|
||||
<Kern code="1095" val="-0.091667"/>
|
||||
</Char>
|
||||
<Char code="1072" width="0.525003" height="0.458333" >
|
||||
<Kern code="1095" val="-0.030556"/>
|
||||
<Kern code="1091" val="-0.030556"/>
|
||||
</Char>
|
||||
<Char code="1073" width="0.550003" height="0.694445" >
|
||||
<Kern code="1076" val="-0.030556"/>
|
||||
<Kern code="1078" val="-0.030556"/>
|
||||
<Kern code="1093" val="-0.030556"/>
|
||||
<Kern code="1103" val="-0.030556"/>
|
||||
</Char>
|
||||
<Char code="1094" width="0.62917" height="0.458333" depth="0.162038" >
|
||||
<Lig code="1093" ligCode="1095"/>
|
||||
</Char>
|
||||
<Char code="1076" width="0.636114" height="0.458333" depth="0.162038" >
|
||||
<Lig code="1112" ligCode="1106"/>
|
||||
</Char>
|
||||
<Char code="1077" width="0.511114" height="0.458333" >
|
||||
</Char>
|
||||
<Char code="1092" width="0.836118" height="0.694445" depth="0.194445" >
|
||||
<Kern code="1076" val="-0.030556"/>
|
||||
<Kern code="1078" val="-0.030556"/>
|
||||
<Kern code="1093" val="-0.030556"/>
|
||||
<Kern code="1103" val="-0.030556"/>
|
||||
</Char>
|
||||
<Char code="1075" width="0.433336" height="0.458333" italic="0.015279" >
|
||||
<Kern code="1076" val="-0.030556"/>
|
||||
<Kern code="1083" val="-0.030556"/>
|
||||
<Kern code="1113" val="-0.030556"/>
|
||||
<Kern code="1103" val="-0.030556"/>
|
||||
</Char>
|
||||
<Char code="1093" width="0.500003" height="0.458333" >
|
||||
<Kern code="1072" val="-0.030556"/>
|
||||
<Kern code="1086" val="-0.030556"/>
|
||||
<Kern code="1139" val="-0.030556"/>
|
||||
<Kern code="1089" val="-0.030556"/>
|
||||
<Kern code="1108" val="-0.030556"/>
|
||||
<Kern code="1077" val="-0.030556"/>
|
||||
<Kern code="1105" val="-0.030556"/>
|
||||
</Char>
|
||||
<Char code="1080" width="0.59167" height="0.458333" >
|
||||
</Char>
|
||||
<Char code="1112" width="0.286113" height="0.694445" depth="0.194445" >
|
||||
</Char>
|
||||
<Char code="1082" width="0.530559" height="0.458333" >
|
||||
<Lig code="1093" ligCode="1093"/>
|
||||
<Kern code="1072" val="-0.030556"/>
|
||||
<Kern code="1086" val="-0.030556"/>
|
||||
<Kern code="1139" val="-0.030556"/>
|
||||
<Kern code="1089" val="-0.030556"/>
|
||||
<Kern code="1108" val="-0.030556"/>
|
||||
<Kern code="1077" val="-0.030556"/>
|
||||
<Kern code="1105" val="-0.030556"/>
|
||||
</Char>
|
||||
<Char code="1083" width="0.598615" height="0.458333" >
|
||||
<Lig code="1112" ligCode="1113"/>
|
||||
</Char>
|
||||
<Char code="1084" width="0.744449" height="0.458333" />
|
||||
<Char code="1085" width="0.561114" height="0.458333" >
|
||||
<Lig code="1112" ligCode="1114"/>
|
||||
</Char>
|
||||
<Char code="1086" width="0.550003" height="0.458333" >
|
||||
<Kern code="1076" val="-0.030556"/>
|
||||
<Kern code="1078" val="-0.030556"/>
|
||||
<Kern code="1093" val="-0.030556"/>
|
||||
<Kern code="1103" val="-0.030556"/>
|
||||
</Char>
|
||||
<Char code="1087" width="0.561114" height="0.458333" >
|
||||
</Char>
|
||||
<Char code="1095" width="0.59167" height="0.458333" />
|
||||
<Char code="1088" width="0.561114" height="0.458333" depth="0.194445" >
|
||||
<Kern code="1076" val="-0.030556"/>
|
||||
<Kern code="1078" val="-0.030556"/>
|
||||
<Kern code="1093" val="-0.030556"/>
|
||||
<Kern code="1103" val="-0.030556"/>
|
||||
</Char>
|
||||
<Char code="1089" width="0.488892" height="0.458333" >
|
||||
<Lig code="1093" ligCode="1096"/>
|
||||
<Kern code="1076" val="-0.030556"/>
|
||||
<Kern code="1078" val="-0.030556"/>
|
||||
<Kern code="1093" val="-0.030556"/>
|
||||
<Kern code="1103" val="-0.030556"/>
|
||||
</Char>
|
||||
<Char code="1090" width="0.488892" height="0.458333" italic="0.02139" >
|
||||
<Lig code="1089" ligCode="1094"/>
|
||||
<Kern code="1076" val="-0.030556"/>
|
||||
<Kern code="1083" val="-0.030556"/>
|
||||
<Kern code="1113" val="-0.030556"/>
|
||||
<Kern code="1103" val="-0.030556"/>
|
||||
</Char>
|
||||
<Char code="1091" width="0.500003" height="0.458333" depth="0.194445" italic="0.015279" >
|
||||
<Kern code="1072" val="-0.030556"/>
|
||||
<Kern code="1086" val="-0.030556"/>
|
||||
<Kern code="1139" val="-0.030556"/>
|
||||
<Kern code="1089" val="-0.030556"/>
|
||||
<Kern code="1108" val="-0.030556"/>
|
||||
<Kern code="1077" val="-0.030556"/>
|
||||
<Kern code="1105" val="-0.030556"/>
|
||||
<Kern code="1103" val="-0.030556"/>
|
||||
<Kern code="1076" val="-0.061111"/>
|
||||
<Kern code="1083" val="-0.061111"/>
|
||||
<Kern code="1113" val="-0.061111"/>
|
||||
</Char>
|
||||
<Char code="1074" width="0.525003" height="0.458333" />
|
||||
<Char code="1097" width="0.873616" height="0.458333" depth="0.162038" />
|
||||
<Char code="1096" width="0.836116" height="0.458333" >
|
||||
<Lig code="1095" ligCode="1097"/>
|
||||
<Lig code="1094" ligCode="0"/>
|
||||
</Char>
|
||||
<Char code="1099" width="0.744449" height="0.458333" >
|
||||
<Lig code="1072" ligCode="1103"/>
|
||||
<Lig code="1091" ligCode="1102"/>
|
||||
</Char>
|
||||
<Char code="1079" width="0.488892" height="0.458333" italic="0.006111" >
|
||||
<Lig code="1093" ligCode="1078"/>
|
||||
</Char>
|
||||
<Char code="1100" width="0.525003" height="0.458333" >
|
||||
<Kern code="1091" val="-0.061111"/>
|
||||
<Kern code="1141" val="-0.061111"/>
|
||||
<Kern code="1090" val="-0.030556"/>
|
||||
<Kern code="1098" val="-0.030556"/>
|
||||
<Kern code="1123" val="-0.030556"/>
|
||||
<Kern code="1095" val="-0.091667"/>
|
||||
<Kern code="1086" val="-0.030556"/>
|
||||
<Kern code="1139" val="-0.030556"/>
|
||||
<Kern code="1092" val="-0.030556"/>
|
||||
<Kern code="1108" val="-0.030556"/>
|
||||
</Char>
|
||||
<Char code="1098" width="0.64167" height="0.458333" >
|
||||
<Kern code="1091" val="-0.061111"/>
|
||||
<Kern code="1141" val="-0.061111"/>
|
||||
<Kern code="1090" val="-0.030556"/>
|
||||
<Kern code="1098" val="-0.030556"/>
|
||||
<Kern code="1123" val="-0.030556"/>
|
||||
<Kern code="1095" val="-0.091667"/>
|
||||
<Kern code="1086" val="-0.030556"/>
|
||||
<Kern code="1139" val="-0.030556"/>
|
||||
<Kern code="1092" val="-0.030556"/>
|
||||
<Kern code="1108" val="-0.030556"/>
|
||||
</Char>
|
||||
</Font>
|
||||
|
||||
BIN
3rdparty/MicroTeX/res/cyrillic/wnssi10.ttf
vendored
Normal file
BIN
3rdparty/MicroTeX/res/cyrillic/wnssi10.ttf
vendored
Normal file
Binary file not shown.
605
3rdparty/MicroTeX/res/cyrillic/wnssi10.xml
vendored
Normal file
605
3rdparty/MicroTeX/res/cyrillic/wnssi10.xml
vendored
Normal file
@ -0,0 +1,605 @@
|
||||
<Font name="wnssi10.ttf" id="wnssi10" space="0.333334" xHeight="0.444445" quad="1.000003" unicode="95" romanVersion="wnti10" ttVersion="wntt10" boldVersion="wnssbx10">
|
||||
<Char code="1034" width="1.020838" height="0.694445" italic="0.02595" >
|
||||
<Kern code="1046" val="-0.027779"/>
|
||||
<Kern code="1061" val="-0.027779"/>
|
||||
<Kern code="1054" val="-0.027779"/>
|
||||
<Kern code="1060" val="-0.027779"/>
|
||||
<Kern code="1138" val="-0.027779"/>
|
||||
<Kern code="1057" val="-0.027779"/>
|
||||
<Kern code="1028" val="-0.027779"/>
|
||||
<Kern code="1058" val="-0.083334"/>
|
||||
<Kern code="1066" val="-0.083334"/>
|
||||
<Kern code="1026" val="-0.083334"/>
|
||||
<Kern code="1035" val="-0.083334"/>
|
||||
<Kern code="1122" val="-0.083334"/>
|
||||
<Kern code="1063" val="-0.083334"/>
|
||||
<Kern code="1059" val="-0.027779"/>
|
||||
<Kern code="1140" val="-0.083334"/>
|
||||
<Kern code="1090" val="-0.027779"/>
|
||||
<Kern code="1098" val="-0.027779"/>
|
||||
<Kern code="1123" val="-0.027779"/>
|
||||
<Kern code="1095" val="-0.083334"/>
|
||||
</Char>
|
||||
<Char code="1033" width="1.037504" height="0.694445" italic="0.02595" >
|
||||
<Kern code="1046" val="-0.027779"/>
|
||||
<Kern code="1061" val="-0.027779"/>
|
||||
<Kern code="1054" val="-0.027779"/>
|
||||
<Kern code="1060" val="-0.027779"/>
|
||||
<Kern code="1138" val="-0.027779"/>
|
||||
<Kern code="1057" val="-0.027779"/>
|
||||
<Kern code="1028" val="-0.027779"/>
|
||||
<Kern code="1058" val="-0.083334"/>
|
||||
<Kern code="1066" val="-0.083334"/>
|
||||
<Kern code="1026" val="-0.083334"/>
|
||||
<Kern code="1035" val="-0.083334"/>
|
||||
<Kern code="1122" val="-0.083334"/>
|
||||
<Kern code="1063" val="-0.083334"/>
|
||||
<Kern code="1059" val="-0.027779"/>
|
||||
<Kern code="1140" val="-0.083334"/>
|
||||
<Kern code="1090" val="-0.027779"/>
|
||||
<Kern code="1098" val="-0.027779"/>
|
||||
<Kern code="1123" val="-0.027779"/>
|
||||
<Kern code="1095" val="-0.083334"/>
|
||||
</Char>
|
||||
<Char code="1039" width="0.694448" height="0.694445" depth="0.194445" italic="0.080938" />
|
||||
<Char code="1069" width="0.638891" height="0.694445" italic="0.075546" >
|
||||
<Kern code="1040" val="-0.027779"/>
|
||||
<Kern code="1044" val="-0.027779"/>
|
||||
<Kern code="1046" val="-0.027779"/>
|
||||
<Kern code="1061" val="-0.027779"/>
|
||||
<Kern code="1059" val="-0.027779"/>
|
||||
<Kern code="1140" val="-0.027779"/>
|
||||
</Char>
|
||||
<Char code="1030" width="0.277781" height="0.694445" italic="0.1337185" >
|
||||
<Kern code="1030" val="0.027779"/>
|
||||
</Char>
|
||||
<Char code="1028" width="0.638891" height="0.694445" italic="0.119829" />
|
||||
<Char code="1026" width="0.8194475" height="0.694445" italic="0.1337185" >
|
||||
<Kern code="1046" val="-0.027779"/>
|
||||
<Kern code="1061" val="-0.027779"/>
|
||||
<Kern code="1054" val="-0.027779"/>
|
||||
<Kern code="1060" val="-0.027779"/>
|
||||
<Kern code="1138" val="-0.027779"/>
|
||||
<Kern code="1057" val="-0.027779"/>
|
||||
<Kern code="1028" val="-0.027779"/>
|
||||
<Kern code="1058" val="-0.083334"/>
|
||||
<Kern code="1066" val="-0.083334"/>
|
||||
<Kern code="1026" val="-0.083334"/>
|
||||
<Kern code="1035" val="-0.083334"/>
|
||||
<Kern code="1122" val="-0.083334"/>
|
||||
<Kern code="1063" val="-0.083334"/>
|
||||
<Kern code="1059" val="-0.027779"/>
|
||||
<Kern code="1140" val="-0.083334"/>
|
||||
<Kern code="1090" val="-0.027779"/>
|
||||
<Kern code="1098" val="-0.027779"/>
|
||||
<Kern code="1123" val="-0.027779"/>
|
||||
<Kern code="1095" val="-0.083334"/>
|
||||
</Char>
|
||||
<Char code="1035" width="0.763891" height="0.694445" italic="0.0920515" />
|
||||
<Char code="1114" width="0.765282" height="0.444445" italic="0.0389" >
|
||||
<Kern code="1091" val="-0.055555"/>
|
||||
<Kern code="1141" val="-0.055555"/>
|
||||
<Kern code="1090" val="-0.027779"/>
|
||||
<Kern code="1098" val="-0.027779"/>
|
||||
<Kern code="1123" val="-0.027779"/>
|
||||
<Kern code="1095" val="-0.083334"/>
|
||||
<Kern code="1086" val="-0.027779"/>
|
||||
<Kern code="1139" val="-0.027779"/>
|
||||
<Kern code="1092" val="-0.027779"/>
|
||||
<Kern code="1108" val="-0.027779"/>
|
||||
</Char>
|
||||
<Char code="1113" width="0.755559" height="0.444445" italic="0.0389" >
|
||||
<Kern code="1091" val="-0.055555"/>
|
||||
<Kern code="1141" val="-0.055555"/>
|
||||
<Kern code="1090" val="-0.027779"/>
|
||||
<Kern code="1098" val="-0.027779"/>
|
||||
<Kern code="1123" val="-0.027779"/>
|
||||
<Kern code="1095" val="-0.083334"/>
|
||||
<Kern code="1086" val="-0.027779"/>
|
||||
<Kern code="1139" val="-0.027779"/>
|
||||
<Kern code="1092" val="-0.027779"/>
|
||||
<Kern code="1108" val="-0.027779"/>
|
||||
</Char>
|
||||
<Char code="1119" width="0.537503" height="0.444445" depth="0.162038" italic="0.04169" />
|
||||
<Char code="1101" width="0.444446" height="0.444445" italic="0.060573" >
|
||||
<Kern code="1076" val="-0.027779"/>
|
||||
<Kern code="1078" val="-0.027779"/>
|
||||
<Kern code="1093" val="-0.027779"/>
|
||||
<Kern code="1103" val="-0.027779"/>
|
||||
</Char>
|
||||
<Char code="1110" width="0.23889" height="0.679365" italic="0.09718" />
|
||||
<Char code="1108" width="0.43889" height="0.444445" italic="0.083357" />
|
||||
<Char code="1106" width="0.488892" height="0.694445" depth="0.194445" italic="0.066129" />
|
||||
<Char code="1115" width="0.516668" height="0.694445" italic="0.017778" />
|
||||
<Char code="1070" width="1.04167" height="0.694445" italic="0.075546" >
|
||||
<Kern code="1040" val="-0.027779"/>
|
||||
<Kern code="1044" val="-0.027779"/>
|
||||
<Kern code="1046" val="-0.027779"/>
|
||||
<Kern code="1061" val="-0.027779"/>
|
||||
<Kern code="1059" val="-0.027779"/>
|
||||
<Kern code="1140" val="-0.027779"/>
|
||||
</Char>
|
||||
<Char code="1046" width="1.111117" height="0.694445" italic="0.119829" >
|
||||
<Kern code="1054" val="-0.027779"/>
|
||||
<Kern code="1060" val="-0.027779"/>
|
||||
<Kern code="1138" val="-0.027779"/>
|
||||
<Kern code="1057" val="-0.027779"/>
|
||||
<Kern code="1028" val="-0.027779"/>
|
||||
<Kern code="1095" val="-0.027779"/>
|
||||
<Kern code="1090" val="-0.027779"/>
|
||||
<Kern code="1098" val="-0.027779"/>
|
||||
<Kern code="1123" val="-0.027779"/>
|
||||
</Char>
|
||||
<Char code="1049" width="0.694448" height="0.902727" italic="0.080938" />
|
||||
<Char code="1025" width="0.597224" height="0.902727" italic="0.119829" />
|
||||
<Char code="1140" width="0.722226" height="0.694445" italic="0.161496" >
|
||||
<Kern code="1040" val="-0.083334"/>
|
||||
<Kern code="1044" val="-0.055555"/>
|
||||
<Kern code="1051" val="-0.055555"/>
|
||||
<Kern code="1033" val="-0.055555"/>
|
||||
<Kern code="1054" val="-0.027779"/>
|
||||
<Kern code="1060" val="-0.027779"/>
|
||||
<Kern code="1138" val="-0.027779"/>
|
||||
<Kern code="1057" val="-0.027779"/>
|
||||
<Kern code="1028" val="-0.027779"/>
|
||||
<Kern code="1072" val="-0.027779"/>
|
||||
<Kern code="1086" val="-0.027779"/>
|
||||
<Kern code="1139" val="-0.027779"/>
|
||||
<Kern code="1077" val="-0.027779"/>
|
||||
<Kern code="1105" val="-0.027779"/>
|
||||
<Kern code="1076" val="-0.083334"/>
|
||||
<Kern code="1083" val="-0.083334"/>
|
||||
<Kern code="1113" val="-0.083334"/>
|
||||
<Kern code="1103" val="-0.083334"/>
|
||||
</Char>
|
||||
<Char code="1138" width="0.777781" height="0.694445" italic="0.075546" >
|
||||
<Kern code="1040" val="-0.027779"/>
|
||||
<Kern code="1044" val="-0.027779"/>
|
||||
<Kern code="1046" val="-0.027779"/>
|
||||
<Kern code="1061" val="-0.027779"/>
|
||||
<Kern code="1059" val="-0.027779"/>
|
||||
<Kern code="1140" val="-0.027779"/>
|
||||
</Char>
|
||||
<Char code="1029" width="0.555557" height="0.694445" italic="0.0920515" />
|
||||
<Char code="1071" width="0.645836" height="0.694445" italic="0.080938" />
|
||||
<Char code="1102" width="0.730558" height="0.444445" italic="0.066129" >
|
||||
<Kern code="1076" val="-0.027779"/>
|
||||
<Kern code="1078" val="-0.027779"/>
|
||||
<Kern code="1093" val="-0.027779"/>
|
||||
<Kern code="1103" val="-0.027779"/>
|
||||
</Char>
|
||||
<Char code="1078" width="0.7388935" height="0.444445" italic="0.083357" >
|
||||
<Kern code="1072" val="-0.027779"/>
|
||||
<Kern code="1086" val="-0.027779"/>
|
||||
<Kern code="1139" val="-0.027779"/>
|
||||
<Kern code="1089" val="-0.027779"/>
|
||||
<Kern code="1108" val="-0.027779"/>
|
||||
<Kern code="1077" val="-0.027779"/>
|
||||
<Kern code="1105" val="-0.027779"/>
|
||||
</Char>
|
||||
<Char code="1081" width="0.537503" height="0.652727" italic="0.04169" />
|
||||
<Char code="1105" width="0.444446" height="0.660319" italic="0.067778" />
|
||||
<Char code="1141" width="0.491667" height="0.444445" italic="0.108357" >
|
||||
<Kern code="1072" val="-0.027779"/>
|
||||
<Kern code="1086" val="-0.027779"/>
|
||||
<Kern code="1139" val="-0.027779"/>
|
||||
<Kern code="1089" val="-0.027779"/>
|
||||
<Kern code="1108" val="-0.027779"/>
|
||||
<Kern code="1077" val="-0.027779"/>
|
||||
<Kern code="1105" val="-0.027779"/>
|
||||
<Kern code="1103" val="-0.027779"/>
|
||||
<Kern code="1076" val="-0.055555"/>
|
||||
<Kern code="1083" val="-0.055555"/>
|
||||
<Kern code="1113" val="-0.055555"/>
|
||||
</Char>
|
||||
<Char code="1139" width="0.500002" height="0.444445" italic="0.03835" >
|
||||
<Kern code="1076" val="-0.027779"/>
|
||||
<Kern code="1078" val="-0.027779"/>
|
||||
<Kern code="1093" val="-0.027779"/>
|
||||
<Kern code="1103" val="-0.027779"/>
|
||||
</Char>
|
||||
<Char code="1109" width="0.383334" height="0.444445" italic="0.077802" />
|
||||
<Char code="1103" width="0.515279" height="0.444445" italic="0.04169" />
|
||||
<Char code="776" width="0.500002" height="0.660319" italic="0.059799" />
|
||||
<Char code="1122" width="0.7777815" height="0.75" italic="0.082927" >
|
||||
<Kern code="1046" val="-0.027779"/>
|
||||
<Kern code="1061" val="-0.027779"/>
|
||||
<Kern code="1054" val="-0.027779"/>
|
||||
<Kern code="1060" val="-0.027779"/>
|
||||
<Kern code="1138" val="-0.027779"/>
|
||||
<Kern code="1057" val="-0.027779"/>
|
||||
<Kern code="1028" val="-0.027779"/>
|
||||
<Kern code="1058" val="-0.083334"/>
|
||||
<Kern code="1066" val="-0.083334"/>
|
||||
<Kern code="1026" val="-0.083334"/>
|
||||
<Kern code="1035" val="-0.083334"/>
|
||||
<Kern code="1122" val="-0.083334"/>
|
||||
<Kern code="1063" val="-0.083334"/>
|
||||
<Kern code="1059" val="-0.027779"/>
|
||||
<Kern code="1140" val="-0.083334"/>
|
||||
<Kern code="1090" val="-0.027779"/>
|
||||
<Kern code="1098" val="-0.027779"/>
|
||||
<Kern code="1123" val="-0.027779"/>
|
||||
<Kern code="1095" val="-0.083334"/>
|
||||
</Char>
|
||||
<Char code="774" width="0.500002" height="0.652727" italic="0.085962" />
|
||||
<Char code="1123" width="0.500002" height="0.652727" italic="0.030568" >
|
||||
<Kern code="1091" val="-0.055555"/>
|
||||
<Kern code="1141" val="-0.055555"/>
|
||||
<Kern code="1090" val="-0.027779"/>
|
||||
<Kern code="1098" val="-0.027779"/>
|
||||
<Kern code="1123" val="-0.027779"/>
|
||||
<Kern code="1095" val="-0.083334"/>
|
||||
<Kern code="1086" val="-0.027779"/>
|
||||
<Kern code="1139" val="-0.027779"/>
|
||||
<Kern code="1092" val="-0.027779"/>
|
||||
<Kern code="1108" val="-0.027779"/>
|
||||
</Char>
|
||||
<Char code="171" width="0.666669" height="0.438889" italic="0.02018" />
|
||||
<Char code="305" width="0.23889" height="0.444445" italic="0.04169" />
|
||||
<Char code="187" width="0.666669" height="0.438889" />
|
||||
<Char code="1040" width="0.66667" height="0.694445" >
|
||||
<Kern code="1054" val="-0.027779"/>
|
||||
<Kern code="1060" val="-0.027779"/>
|
||||
<Kern code="1138" val="-0.027779"/>
|
||||
<Kern code="1057" val="-0.027779"/>
|
||||
<Kern code="1028" val="-0.027779"/>
|
||||
<Kern code="1058" val="-0.083334"/>
|
||||
<Kern code="1066" val="-0.083334"/>
|
||||
<Kern code="1026" val="-0.083334"/>
|
||||
<Kern code="1035" val="-0.083334"/>
|
||||
<Kern code="1122" val="-0.083334"/>
|
||||
<Kern code="1063" val="-0.083334"/>
|
||||
<Kern code="1059" val="-0.027779"/>
|
||||
<Kern code="1140" val="-0.083334"/>
|
||||
<Kern code="1090" val="-0.027779"/>
|
||||
<Kern code="1098" val="-0.027779"/>
|
||||
<Kern code="1123" val="-0.027779"/>
|
||||
<Kern code="1095" val="-0.083334"/>
|
||||
</Char>
|
||||
<Char code="1041" width="0.66667" height="0.694445" italic="0.064273" />
|
||||
<Char code="1062" width="0.711116" height="0.694445" depth="0.194445" italic="0.080938" >
|
||||
<Lig code="1061" ligCode="1063"/>
|
||||
<Lig code="1093" ligCode="1063"/>
|
||||
</Char>
|
||||
<Char code="1044" width="0.727783" height="0.694445" depth="0.194445" italic="0.080938" >
|
||||
<Lig code="1032" ligCode="1026"/>
|
||||
<Lig code="1112" ligCode="1026"/>
|
||||
</Char>
|
||||
<Char code="1045" width="0.597224" height="0.694445" italic="0.119829" >
|
||||
</Char>
|
||||
<Char code="1060" width="0.833336" height="0.694445" italic="0.075546" >
|
||||
<Kern code="1040" val="-0.027779"/>
|
||||
<Kern code="1044" val="-0.027779"/>
|
||||
<Kern code="1046" val="-0.027779"/>
|
||||
<Kern code="1061" val="-0.027779"/>
|
||||
<Kern code="1059" val="-0.027779"/>
|
||||
<Kern code="1140" val="-0.027779"/>
|
||||
</Char>
|
||||
<Char code="1043" width="0.541669" height="0.694445" italic="0.1337185" >
|
||||
<Kern code="1040" val="-0.083334"/>
|
||||
<Kern code="1044" val="-0.083334"/>
|
||||
<Kern code="1051" val="-0.055555"/>
|
||||
<Kern code="1033" val="-0.055555"/>
|
||||
<Kern code="1072" val="-0.083334"/>
|
||||
<Kern code="1086" val="-0.083334"/>
|
||||
<Kern code="1139" val="-0.083334"/>
|
||||
<Kern code="1077" val="-0.083334"/>
|
||||
<Kern code="1105" val="-0.083334"/>
|
||||
<Kern code="1089" val="-0.083334"/>
|
||||
<Kern code="1108" val="-0.083334"/>
|
||||
<Kern code="1092" val="-0.083334"/>
|
||||
<Kern code="1076" val="-0.083334"/>
|
||||
<Kern code="1083" val="-0.083334"/>
|
||||
<Kern code="1113" val="-0.083334"/>
|
||||
<Kern code="1103" val="-0.083334"/>
|
||||
</Char>
|
||||
<Char code="1061" width="0.66667" height="0.694445" italic="0.1337185" >
|
||||
<Kern code="1054" val="-0.027779"/>
|
||||
<Kern code="1060" val="-0.027779"/>
|
||||
<Kern code="1138" val="-0.027779"/>
|
||||
<Kern code="1057" val="-0.027779"/>
|
||||
<Kern code="1028" val="-0.027779"/>
|
||||
<Kern code="1095" val="-0.027779"/>
|
||||
<Kern code="1090" val="-0.027779"/>
|
||||
<Kern code="1098" val="-0.027779"/>
|
||||
<Kern code="1123" val="-0.027779"/>
|
||||
</Char>
|
||||
<Char code="1048" width="0.694448" height="0.694445" italic="0.080938" >
|
||||
</Char>
|
||||
<Char code="1032" width="0.472224" height="0.694445" italic="0.080938" >
|
||||
</Char>
|
||||
<Char code="1050" width="0.694448" height="0.694445" italic="0.119829" >
|
||||
<Lig code="1061" ligCode="1061"/>
|
||||
<Lig code="1093" ligCode="1061"/>
|
||||
<Kern code="1054" val="-0.027779"/>
|
||||
<Kern code="1060" val="-0.027779"/>
|
||||
<Kern code="1138" val="-0.027779"/>
|
||||
<Kern code="1057" val="-0.027779"/>
|
||||
<Kern code="1028" val="-0.027779"/>
|
||||
<Kern code="1095" val="-0.027779"/>
|
||||
<Kern code="1090" val="-0.027779"/>
|
||||
<Kern code="1098" val="-0.027779"/>
|
||||
<Kern code="1123" val="-0.027779"/>
|
||||
</Char>
|
||||
<Char code="1051" width="0.711116" height="0.694445" italic="0.080938" >
|
||||
<Lig code="1032" ligCode="1033"/>
|
||||
<Lig code="1112" ligCode="1033"/>
|
||||
</Char>
|
||||
<Char code="1052" width="0.875005" height="0.694445" italic="0.080938" />
|
||||
<Char code="1053" width="0.694448" height="0.694445" italic="0.080938" >
|
||||
<Lig code="1032" ligCode="1034"/>
|
||||
<Lig code="1112" ligCode="1034"/>
|
||||
</Char>
|
||||
<Char code="1054" width="0.736113" height="0.694445" italic="0.075546" >
|
||||
<Kern code="1040" val="-0.027779"/>
|
||||
<Kern code="1044" val="-0.027779"/>
|
||||
<Kern code="1046" val="-0.027779"/>
|
||||
<Kern code="1061" val="-0.027779"/>
|
||||
<Kern code="1059" val="-0.027779"/>
|
||||
<Kern code="1140" val="-0.027779"/>
|
||||
</Char>
|
||||
<Char code="1055" width="0.694448" height="0.694445" italic="0.080938" >
|
||||
</Char>
|
||||
<Char code="1063" width="0.694448" height="0.694445" italic="0.080938" />
|
||||
<Char code="1056" width="0.638891" height="0.694445" italic="0.082927" >
|
||||
<Kern code="1040" val="-0.083334"/>
|
||||
<Kern code="1044" val="-0.083334"/>
|
||||
<Kern code="1051" val="-0.083334"/>
|
||||
<Kern code="1033" val="-0.083334"/>
|
||||
<Kern code="1072" val="-0.027779"/>
|
||||
<Kern code="1086" val="-0.027779"/>
|
||||
<Kern code="1139" val="-0.027779"/>
|
||||
<Kern code="1077" val="-0.027779"/>
|
||||
<Kern code="1105" val="-0.027779"/>
|
||||
<Kern code="1076" val="-0.083334"/>
|
||||
<Kern code="1083" val="-0.083334"/>
|
||||
<Kern code="1113" val="-0.083334"/>
|
||||
</Char>
|
||||
<Char code="1057" width="0.638891" height="0.694445" italic="0.119829" >
|
||||
<Lig code="1061" ligCode="1064"/>
|
||||
<Lig code="1093" ligCode="1064"/>
|
||||
</Char>
|
||||
<Char code="1058" width="0.680557" height="0.694445" italic="0.1337185" >
|
||||
<Lig code="1057" ligCode="1062"/>
|
||||
<Lig code="1089" ligCode="1062"/>
|
||||
<Kern code="1040" val="-0.083334"/>
|
||||
<Kern code="1044" val="-0.083334"/>
|
||||
<Kern code="1051" val="-0.055555"/>
|
||||
<Kern code="1033" val="-0.055555"/>
|
||||
<Kern code="1072" val="-0.083334"/>
|
||||
<Kern code="1086" val="-0.083334"/>
|
||||
<Kern code="1139" val="-0.083334"/>
|
||||
<Kern code="1077" val="-0.083334"/>
|
||||
<Kern code="1105" val="-0.083334"/>
|
||||
<Kern code="1089" val="-0.083334"/>
|
||||
<Kern code="1108" val="-0.083334"/>
|
||||
<Kern code="1092" val="-0.083334"/>
|
||||
<Kern code="1076" val="-0.083334"/>
|
||||
<Kern code="1083" val="-0.083334"/>
|
||||
<Kern code="1113" val="-0.083334"/>
|
||||
<Kern code="1103" val="-0.083334"/>
|
||||
</Char>
|
||||
<Char code="1059" width="0.66667" height="0.694445" italic="0.161496" >
|
||||
<Kern code="1040" val="-0.027779"/>
|
||||
<Kern code="1044" val="-0.055555"/>
|
||||
<Kern code="1051" val="-0.055555"/>
|
||||
<Kern code="1033" val="-0.055555"/>
|
||||
<Kern code="1054" val="-0.027779"/>
|
||||
<Kern code="1060" val="-0.027779"/>
|
||||
<Kern code="1138" val="-0.027779"/>
|
||||
<Kern code="1057" val="-0.027779"/>
|
||||
<Kern code="1028" val="-0.027779"/>
|
||||
<Kern code="1072" val="-0.027779"/>
|
||||
<Kern code="1086" val="-0.027779"/>
|
||||
<Kern code="1139" val="-0.027779"/>
|
||||
<Kern code="1077" val="-0.027779"/>
|
||||
<Kern code="1105" val="-0.027779"/>
|
||||
<Kern code="1089" val="-0.027779"/>
|
||||
<Kern code="1108" val="-0.027779"/>
|
||||
<Kern code="1076" val="-0.083334"/>
|
||||
<Kern code="1083" val="-0.083334"/>
|
||||
<Kern code="1113" val="-0.083334"/>
|
||||
<Kern code="1103" val="-0.083334"/>
|
||||
</Char>
|
||||
<Char code="1042" width="0.66667" height="0.694445" italic="0.05515" />
|
||||
<Char code="1065" width="1.100006" height="0.694445" depth="0.194445" italic="0.080938" />
|
||||
<Char code="1064" width="1.083339" height="0.694445" italic="0.080938" >
|
||||
<Lig code="1063" ligCode="1065"/>
|
||||
<Lig code="1095" ligCode="1065"/>
|
||||
<Lig code="1062" ligCode="0"/>
|
||||
<Lig code="1094" ligCode="0"/>
|
||||
</Char>
|
||||
<Char code="1067" width="0.888895" height="0.694445" italic="0.080938" >
|
||||
<Lig code="1040" ligCode="1071"/>
|
||||
<Lig code="1072" ligCode="1071"/>
|
||||
<Lig code="1059" ligCode="1070"/>
|
||||
<Lig code="1091" ligCode="1070"/>
|
||||
</Char>
|
||||
<Char code="1047" width="0.611113" height="0.694445" italic="0.082927" >
|
||||
<Lig code="1061" ligCode="1046"/>
|
||||
<Lig code="1093" ligCode="1046"/>
|
||||
</Char>
|
||||
<Char code="1068" width="0.66667" height="0.694445" italic="0.02595" >
|
||||
<Kern code="1046" val="-0.027779"/>
|
||||
<Kern code="1061" val="-0.027779"/>
|
||||
<Kern code="1054" val="-0.027779"/>
|
||||
<Kern code="1060" val="-0.027779"/>
|
||||
<Kern code="1138" val="-0.027779"/>
|
||||
<Kern code="1057" val="-0.027779"/>
|
||||
<Kern code="1028" val="-0.027779"/>
|
||||
<Kern code="1058" val="-0.083334"/>
|
||||
<Kern code="1066" val="-0.083334"/>
|
||||
<Kern code="1026" val="-0.083334"/>
|
||||
<Kern code="1035" val="-0.083334"/>
|
||||
<Kern code="1122" val="-0.083334"/>
|
||||
<Kern code="1063" val="-0.083334"/>
|
||||
<Kern code="1059" val="-0.027779"/>
|
||||
<Kern code="1140" val="-0.083334"/>
|
||||
<Kern code="1090" val="-0.027779"/>
|
||||
<Kern code="1098" val="-0.027779"/>
|
||||
<Kern code="1123" val="-0.027779"/>
|
||||
<Kern code="1095" val="-0.083334"/>
|
||||
</Char>
|
||||
<Char code="1066" width="0.868059" height="0.694445" italic="0.02595" >
|
||||
<Kern code="1046" val="-0.027779"/>
|
||||
<Kern code="1061" val="-0.027779"/>
|
||||
<Kern code="1054" val="-0.027779"/>
|
||||
<Kern code="1060" val="-0.027779"/>
|
||||
<Kern code="1138" val="-0.027779"/>
|
||||
<Kern code="1057" val="-0.027779"/>
|
||||
<Kern code="1028" val="-0.027779"/>
|
||||
<Kern code="1058" val="-0.083334"/>
|
||||
<Kern code="1066" val="-0.083334"/>
|
||||
<Kern code="1026" val="-0.083334"/>
|
||||
<Kern code="1035" val="-0.083334"/>
|
||||
<Kern code="1122" val="-0.083334"/>
|
||||
<Kern code="1063" val="-0.083334"/>
|
||||
<Kern code="1059" val="-0.027779"/>
|
||||
<Kern code="1140" val="-0.083334"/>
|
||||
<Kern code="1090" val="-0.027779"/>
|
||||
<Kern code="1098" val="-0.027779"/>
|
||||
<Kern code="1123" val="-0.027779"/>
|
||||
<Kern code="1095" val="-0.083334"/>
|
||||
</Char>
|
||||
<Char code="1072" width="0.480557" height="0.444445" italic="0.009807" >
|
||||
<Kern code="1095" val="-0.027779"/>
|
||||
<Kern code="1091" val="-0.027779"/>
|
||||
</Char>
|
||||
<Char code="1073" width="0.500002" height="0.694445" italic="0.094829" >
|
||||
<Kern code="1076" val="-0.027779"/>
|
||||
<Kern code="1078" val="-0.027779"/>
|
||||
<Kern code="1093" val="-0.027779"/>
|
||||
<Kern code="1103" val="-0.027779"/>
|
||||
</Char>
|
||||
<Char code="1094" width="0.5486145" height="0.444445" depth="0.162038" italic="0.04169" >
|
||||
<Lig code="1093" ligCode="1095"/>
|
||||
</Char>
|
||||
<Char code="1076" width="0.538892" height="0.444445" depth="0.162038" italic="0.04169" >
|
||||
<Lig code="1112" ligCode="1106"/>
|
||||
</Char>
|
||||
<Char code="1077" width="0.444446" height="0.444445" italic="0.067778" >
|
||||
</Char>
|
||||
<Char code="1092" width="0.76667" height="0.694445" depth="0.194445" italic="0.0389" >
|
||||
<Kern code="1076" val="-0.027779"/>
|
||||
<Kern code="1078" val="-0.027779"/>
|
||||
<Kern code="1093" val="-0.027779"/>
|
||||
<Kern code="1103" val="-0.027779"/>
|
||||
</Char>
|
||||
<Char code="1075" width="0.404167" height="0.444445" italic="0.108357" >
|
||||
<Kern code="1076" val="-0.027779"/>
|
||||
<Kern code="1083" val="-0.027779"/>
|
||||
<Kern code="1113" val="-0.027779"/>
|
||||
<Kern code="1103" val="-0.027779"/>
|
||||
</Char>
|
||||
<Char code="1093" width="0.461113" height="0.444445" italic="0.09169" >
|
||||
<Kern code="1072" val="-0.027779"/>
|
||||
<Kern code="1086" val="-0.027779"/>
|
||||
<Kern code="1139" val="-0.027779"/>
|
||||
<Kern code="1089" val="-0.027779"/>
|
||||
<Kern code="1108" val="-0.027779"/>
|
||||
<Kern code="1077" val="-0.027779"/>
|
||||
<Kern code="1105" val="-0.027779"/>
|
||||
</Char>
|
||||
<Char code="1080" width="0.537503" height="0.444445" italic="0.04169" >
|
||||
</Char>
|
||||
<Char code="1112" width="0.266668" height="0.679365" depth="0.194445" italic="0.091624" >
|
||||
</Char>
|
||||
<Char code="1082" width="0.488892" height="0.444445" italic="0.083357" >
|
||||
<Lig code="1093" ligCode="1093"/>
|
||||
<Kern code="1072" val="-0.027779"/>
|
||||
<Kern code="1086" val="-0.027779"/>
|
||||
<Kern code="1139" val="-0.027779"/>
|
||||
<Kern code="1089" val="-0.027779"/>
|
||||
<Kern code="1108" val="-0.027779"/>
|
||||
<Kern code="1077" val="-0.027779"/>
|
||||
<Kern code="1105" val="-0.027779"/>
|
||||
</Char>
|
||||
<Char code="1083" width="0.527781" height="0.444445" italic="0.04169" >
|
||||
<Lig code="1112" ligCode="1113"/>
|
||||
</Char>
|
||||
<Char code="1084" width="0.669447" height="0.444445" italic="0.04169" />
|
||||
<Char code="1085" width="0.516668" height="0.444445" italic="0.04169" >
|
||||
<Lig code="1112" ligCode="1114"/>
|
||||
</Char>
|
||||
<Char code="1086" width="0.500002" height="0.444445" italic="0.066129" >
|
||||
<Kern code="1076" val="-0.027779"/>
|
||||
<Kern code="1078" val="-0.027779"/>
|
||||
<Kern code="1093" val="-0.027779"/>
|
||||
<Kern code="1103" val="-0.027779"/>
|
||||
</Char>
|
||||
<Char code="1087" width="0.516668" height="0.444445" italic="0.04169" >
|
||||
</Char>
|
||||
<Char code="1095" width="0.537503" height="0.444445" italic="0.04169" />
|
||||
<Char code="1088" width="0.516668" height="0.444445" depth="0.194445" italic="0.0389" >
|
||||
<Kern code="1076" val="-0.027779"/>
|
||||
<Kern code="1078" val="-0.027779"/>
|
||||
<Kern code="1093" val="-0.027779"/>
|
||||
<Kern code="1103" val="-0.027779"/>
|
||||
</Char>
|
||||
<Char code="1089" width="0.444446" height="0.444445" italic="0.083357" >
|
||||
<Lig code="1093" ligCode="1096"/>
|
||||
<Kern code="1076" val="-0.027779"/>
|
||||
<Kern code="1078" val="-0.027779"/>
|
||||
<Kern code="1093" val="-0.027779"/>
|
||||
<Kern code="1103" val="-0.027779"/>
|
||||
</Char>
|
||||
<Char code="1090" width="0.458334" height="0.444445" italic="0.113913" >
|
||||
<Lig code="1089" ligCode="1094"/>
|
||||
<Kern code="1076" val="-0.027779"/>
|
||||
<Kern code="1083" val="-0.027779"/>
|
||||
<Kern code="1113" val="-0.027779"/>
|
||||
<Kern code="1103" val="-0.027779"/>
|
||||
</Char>
|
||||
<Char code="1091" width="0.461113" height="0.444445" depth="0.194445" italic="0.108357" >
|
||||
<Kern code="1072" val="-0.027779"/>
|
||||
<Kern code="1086" val="-0.027779"/>
|
||||
<Kern code="1139" val="-0.027779"/>
|
||||
<Kern code="1089" val="-0.027779"/>
|
||||
<Kern code="1108" val="-0.027779"/>
|
||||
<Kern code="1077" val="-0.027779"/>
|
||||
<Kern code="1105" val="-0.027779"/>
|
||||
<Kern code="1103" val="-0.027779"/>
|
||||
<Kern code="1076" val="-0.055555"/>
|
||||
<Kern code="1083" val="-0.055555"/>
|
||||
<Kern code="1113" val="-0.055555"/>
|
||||
</Char>
|
||||
<Char code="1074" width="0.480557" height="0.444445" italic="0.0389" />
|
||||
<Char code="1097" width="0.7777815" height="0.444445" depth="0.162038" italic="0.04169" />
|
||||
<Char code="1096" width="0.76667" height="0.444445" italic="0.04169" >
|
||||
<Lig code="1095" ligCode="1097"/>
|
||||
<Lig code="1094" ligCode="0"/>
|
||||
</Char>
|
||||
<Char code="1099" width="0.683336" height="0.444445" italic="0.04169" >
|
||||
<Lig code="1072" ligCode="1103"/>
|
||||
<Lig code="1091" ligCode="1102"/>
|
||||
</Char>
|
||||
<Char code="1079" width="0.444446" height="0.444445" italic="0.050013" >
|
||||
<Lig code="1093" ligCode="1078"/>
|
||||
</Char>
|
||||
<Char code="1100" width="0.480557" height="0.444445" italic="0.0389" >
|
||||
<Kern code="1091" val="-0.055555"/>
|
||||
<Kern code="1141" val="-0.055555"/>
|
||||
<Kern code="1090" val="-0.027779"/>
|
||||
<Kern code="1098" val="-0.027779"/>
|
||||
<Kern code="1123" val="-0.027779"/>
|
||||
<Kern code="1095" val="-0.083334"/>
|
||||
<Kern code="1086" val="-0.027779"/>
|
||||
<Kern code="1139" val="-0.027779"/>
|
||||
<Kern code="1092" val="-0.027779"/>
|
||||
<Kern code="1108" val="-0.027779"/>
|
||||
</Char>
|
||||
<Char code="1098" width="0.590279" height="0.444445" italic="0.0389" >
|
||||
<Kern code="1091" val="-0.055555"/>
|
||||
<Kern code="1141" val="-0.055555"/>
|
||||
<Kern code="1090" val="-0.027779"/>
|
||||
<Kern code="1098" val="-0.027779"/>
|
||||
<Kern code="1123" val="-0.027779"/>
|
||||
<Kern code="1095" val="-0.083334"/>
|
||||
<Kern code="1086" val="-0.027779"/>
|
||||
<Kern code="1139" val="-0.027779"/>
|
||||
<Kern code="1092" val="-0.027779"/>
|
||||
<Kern code="1108" val="-0.027779"/>
|
||||
</Char>
|
||||
</Font>
|
||||
|
||||
BIN
3rdparty/MicroTeX/res/cyrillic/wnti10.ttf
vendored
Normal file
BIN
3rdparty/MicroTeX/res/cyrillic/wnti10.ttf
vendored
Normal file
Binary file not shown.
707
3rdparty/MicroTeX/res/cyrillic/wnti10.xml
vendored
Normal file
707
3rdparty/MicroTeX/res/cyrillic/wnti10.xml
vendored
Normal file
@ -0,0 +1,707 @@
|
||||
<Font name="wnti10.ttf" id="wnti10" space="0.357776" xHeight="0.430555" quad="1.022217" unicode="95" romanVersion="wnr10" boldVersion="wnbxti10" ssVersion="wnssi10" ttVersion="wntt10">
|
||||
<Char code="1034" width="1.048883" height="0.683332" italic="0.036629" >
|
||||
<Kern code="1046" val="-0.025556"/>
|
||||
<Kern code="1061" val="-0.025556"/>
|
||||
<Kern code="1054" val="-0.025556"/>
|
||||
<Kern code="1060" val="-0.025556"/>
|
||||
<Kern code="1138" val="-0.025556"/>
|
||||
<Kern code="1057" val="-0.025556"/>
|
||||
<Kern code="1028" val="-0.025556"/>
|
||||
<Kern code="1058" val="-0.076666"/>
|
||||
<Kern code="1066" val="-0.076666"/>
|
||||
<Kern code="1026" val="-0.076666"/>
|
||||
<Kern code="1035" val="-0.076666"/>
|
||||
<Kern code="1122" val="-0.076666"/>
|
||||
<Kern code="1063" val="-0.076666"/>
|
||||
<Kern code="1059" val="-0.076666"/>
|
||||
<Kern code="1140" val="-0.1022215"/>
|
||||
<Kern code="1098" val="-0.025556"/>
|
||||
<Kern code="1141" val="-0.025556"/>
|
||||
<Kern code="1082" val="-0.025556"/>
|
||||
<Kern code="1085" val="-0.025556"/>
|
||||
<Kern code="1114" val="-0.025556"/>
|
||||
<Kern code="1087" val="-0.025556"/>
|
||||
<Kern code="1090" val="-0.025556"/>
|
||||
<Kern code="1102" val="-0.025556"/>
|
||||
<Kern code="1123" val="-0.025556"/>
|
||||
<Kern code="1110" val="-0.025556"/>
|
||||
<Kern code="1080" val="-0.025556"/>
|
||||
<Kern code="1081" val="-0.025556"/>
|
||||
<Kern code="1094" val="-0.025556"/>
|
||||
<Kern code="1096" val="-0.025556"/>
|
||||
<Kern code="1097" val="-0.025556"/>
|
||||
<Kern code="1100" val="-0.025556"/>
|
||||
<Kern code="1099" val="-0.025556"/>
|
||||
<Kern code="1091" val="-0.025556"/>
|
||||
</Char>
|
||||
<Char code="1033" width="1.048883" height="0.683332" italic="0.036629" >
|
||||
<Kern code="1046" val="-0.025556"/>
|
||||
<Kern code="1061" val="-0.025556"/>
|
||||
<Kern code="1054" val="-0.025556"/>
|
||||
<Kern code="1060" val="-0.025556"/>
|
||||
<Kern code="1138" val="-0.025556"/>
|
||||
<Kern code="1057" val="-0.025556"/>
|
||||
<Kern code="1028" val="-0.025556"/>
|
||||
<Kern code="1058" val="-0.076666"/>
|
||||
<Kern code="1066" val="-0.076666"/>
|
||||
<Kern code="1026" val="-0.076666"/>
|
||||
<Kern code="1035" val="-0.076666"/>
|
||||
<Kern code="1122" val="-0.076666"/>
|
||||
<Kern code="1063" val="-0.076666"/>
|
||||
<Kern code="1059" val="-0.076666"/>
|
||||
<Kern code="1140" val="-0.1022215"/>
|
||||
<Kern code="1098" val="-0.025556"/>
|
||||
<Kern code="1141" val="-0.025556"/>
|
||||
<Kern code="1082" val="-0.025556"/>
|
||||
<Kern code="1085" val="-0.025556"/>
|
||||
<Kern code="1114" val="-0.025556"/>
|
||||
<Kern code="1087" val="-0.025556"/>
|
||||
<Kern code="1090" val="-0.025556"/>
|
||||
<Kern code="1102" val="-0.025556"/>
|
||||
<Kern code="1123" val="-0.025556"/>
|
||||
<Kern code="1110" val="-0.025556"/>
|
||||
<Kern code="1080" val="-0.025556"/>
|
||||
<Kern code="1081" val="-0.025556"/>
|
||||
<Kern code="1094" val="-0.025556"/>
|
||||
<Kern code="1096" val="-0.025556"/>
|
||||
<Kern code="1097" val="-0.025556"/>
|
||||
<Kern code="1100" val="-0.025556"/>
|
||||
<Kern code="1099" val="-0.025556"/>
|
||||
<Kern code="1091" val="-0.025556"/>
|
||||
</Char>
|
||||
<Char code="1039" width="0.768885" height="0.683332" depth="0.194445" italic="0.16389" />
|
||||
<Char code="1069" width="0.715551" height="0.683332" italic="0.0940275" >
|
||||
<Kern code="1040" val="-0.025556"/>
|
||||
<Kern code="1044" val="-0.025556"/>
|
||||
<Kern code="1046" val="-0.025556"/>
|
||||
<Kern code="1061" val="-0.025556"/>
|
||||
<Kern code="1059" val="-0.025556"/>
|
||||
<Kern code="1140" val="-0.025556"/>
|
||||
<Kern code="1071" val="-0.025556"/>
|
||||
</Char>
|
||||
<Char code="1030" width="0.385553" height="0.683332" italic="0.158055" >
|
||||
<Kern code="1030" val="0.025556"/>
|
||||
</Char>
|
||||
<Char code="1028" width="0.715551" height="0.683332" italic="0.145277" />
|
||||
<Char code="1026" width="0.843328" height="0.683332" italic="0.133055" >
|
||||
<Kern code="1046" val="-0.025556"/>
|
||||
<Kern code="1061" val="-0.025556"/>
|
||||
<Kern code="1054" val="-0.025556"/>
|
||||
<Kern code="1060" val="-0.025556"/>
|
||||
<Kern code="1138" val="-0.025556"/>
|
||||
<Kern code="1057" val="-0.025556"/>
|
||||
<Kern code="1028" val="-0.025556"/>
|
||||
<Kern code="1058" val="-0.076666"/>
|
||||
<Kern code="1066" val="-0.076666"/>
|
||||
<Kern code="1026" val="-0.076666"/>
|
||||
<Kern code="1035" val="-0.076666"/>
|
||||
<Kern code="1122" val="-0.076666"/>
|
||||
<Kern code="1063" val="-0.076666"/>
|
||||
<Kern code="1059" val="-0.076666"/>
|
||||
<Kern code="1140" val="-0.1022215"/>
|
||||
<Kern code="1098" val="-0.025556"/>
|
||||
<Kern code="1141" val="-0.025556"/>
|
||||
<Kern code="1082" val="-0.025556"/>
|
||||
<Kern code="1085" val="-0.025556"/>
|
||||
<Kern code="1114" val="-0.025556"/>
|
||||
<Kern code="1087" val="-0.025556"/>
|
||||
<Kern code="1090" val="-0.025556"/>
|
||||
<Kern code="1102" val="-0.025556"/>
|
||||
<Kern code="1123" val="-0.025556"/>
|
||||
<Kern code="1110" val="-0.025556"/>
|
||||
<Kern code="1080" val="-0.025556"/>
|
||||
<Kern code="1081" val="-0.025556"/>
|
||||
<Kern code="1094" val="-0.025556"/>
|
||||
<Kern code="1096" val="-0.025556"/>
|
||||
<Kern code="1097" val="-0.025556"/>
|
||||
<Kern code="1100" val="-0.025556"/>
|
||||
<Kern code="1099" val="-0.025556"/>
|
||||
<Kern code="1091" val="-0.025556"/>
|
||||
</Char>
|
||||
<Char code="1035" width="0.753885" height="0.683332" italic="0.094722" />
|
||||
<Char code="1114" width="0.715551" height="0.430555" italic="0.063124" >
|
||||
<Kern code="1083" val="-0.025556"/>
|
||||
<Kern code="1084" val="-0.025556"/>
|
||||
<Kern code="1113" val="-0.025556"/>
|
||||
<Kern code="1141" val="-0.025556"/>
|
||||
<Kern code="1098" val="-0.025556"/>
|
||||
<Kern code="1095" val="-0.076666"/>
|
||||
<Kern code="1086" val="-0.025556"/>
|
||||
<Kern code="1139" val="-0.025556"/>
|
||||
<Kern code="1092" val="-0.025556"/>
|
||||
<Kern code="1108" val="-0.025556"/>
|
||||
</Char>
|
||||
<Char code="1113" width="0.689997" height="0.430555" italic="0.063124" >
|
||||
<Kern code="1083" val="-0.025556"/>
|
||||
<Kern code="1084" val="-0.025556"/>
|
||||
<Kern code="1113" val="-0.025556"/>
|
||||
<Kern code="1141" val="-0.025556"/>
|
||||
<Kern code="1098" val="-0.025556"/>
|
||||
<Kern code="1095" val="-0.076666"/>
|
||||
<Kern code="1086" val="-0.025556"/>
|
||||
<Kern code="1139" val="-0.025556"/>
|
||||
<Kern code="1092" val="-0.025556"/>
|
||||
<Kern code="1108" val="-0.025556"/>
|
||||
</Char>
|
||||
<Char code="1119" width="0.536664" height="0.430555" depth="0.194445" italic="0.076714" />
|
||||
<Char code="1101" width="0.442108" height="0.430555" italic="0.063124" >
|
||||
<Kern code="1092" val="-0.051111"/>
|
||||
<Kern code="1072" val="-0.051111"/>
|
||||
<Kern code="1083" val="-0.025556"/>
|
||||
<Kern code="1084" val="-0.025556"/>
|
||||
<Kern code="1113" val="-0.025556"/>
|
||||
</Char>
|
||||
<Char code="1110" width="0.306665" height="0.655359" italic="0.101896" />
|
||||
<Char code="1108" width="0.442108" height="0.430555" italic="0.082083" />
|
||||
<Char code="1106" width="0.459997" height="0.694445" depth="0.194445" italic="0.075346" />
|
||||
<Char code="1115" width="0.511108" height="0.694445" italic="0.076714" />
|
||||
<Char code="1070" width="1.087216" height="0.683332" italic="0.0940275" >
|
||||
<Kern code="1040" val="-0.025556"/>
|
||||
<Kern code="1044" val="-0.025556"/>
|
||||
<Kern code="1046" val="-0.025556"/>
|
||||
<Kern code="1061" val="-0.025556"/>
|
||||
<Kern code="1059" val="-0.025556"/>
|
||||
<Kern code="1140" val="-0.025556"/>
|
||||
<Kern code="1071" val="-0.025556"/>
|
||||
</Char>
|
||||
<Char code="1046" width="1.152216" height="0.683332" italic="0.145277" >
|
||||
<Kern code="1054" val="-0.025556"/>
|
||||
<Kern code="1060" val="-0.025556"/>
|
||||
<Kern code="1138" val="-0.025556"/>
|
||||
<Kern code="1057" val="-0.025556"/>
|
||||
<Kern code="1028" val="-0.025556"/>
|
||||
<Kern code="1095" val="-0.025556"/>
|
||||
</Char>
|
||||
<Char code="1049" width="0.768885" height="0.891615" italic="0.16389" />
|
||||
<Char code="1025" width="0.678329" height="0.891615" italic="0.120277" />
|
||||
<Char code="1140" width="0.806107" height="0.683332" italic="0.183611" >
|
||||
<Kern code="1040" val="-0.1022215"/>
|
||||
<Kern code="1071" val="-0.1022215"/>
|
||||
<Kern code="1054" val="-0.025556"/>
|
||||
<Kern code="1060" val="-0.025556"/>
|
||||
<Kern code="1138" val="-0.025556"/>
|
||||
<Kern code="1057" val="-0.025556"/>
|
||||
<Kern code="1028" val="-0.025556"/>
|
||||
<Kern code="1072" val="-0.076666"/>
|
||||
<Kern code="1086" val="-0.076666"/>
|
||||
<Kern code="1139" val="-0.076666"/>
|
||||
<Kern code="1077" val="-0.076666"/>
|
||||
<Kern code="1105" val="-0.076666"/>
|
||||
<Kern code="1080" val="-0.1022215"/>
|
||||
<Kern code="1081" val="-0.1022215"/>
|
||||
<Kern code="1094" val="-0.1022215"/>
|
||||
<Kern code="1096" val="-0.1022215"/>
|
||||
<Kern code="1097" val="-0.1022215"/>
|
||||
<Kern code="1100" val="-0.1022215"/>
|
||||
<Kern code="1099" val="-0.1022215"/>
|
||||
<Kern code="1091" val="-0.1022215"/>
|
||||
<Kern code="1141" val="-0.1022215"/>
|
||||
<Kern code="1098" val="-0.1022215"/>
|
||||
<Kern code="1083" val="-0.1022215"/>
|
||||
<Kern code="1084" val="-0.1022215"/>
|
||||
<Kern code="1113" val="-0.1022215"/>
|
||||
</Char>
|
||||
<Char code="1138" width="0.766663" height="0.683332" italic="0.0940275" >
|
||||
<Kern code="1040" val="-0.025556"/>
|
||||
<Kern code="1044" val="-0.025556"/>
|
||||
<Kern code="1046" val="-0.025556"/>
|
||||
<Kern code="1061" val="-0.025556"/>
|
||||
<Kern code="1059" val="-0.025556"/>
|
||||
<Kern code="1140" val="-0.025556"/>
|
||||
<Kern code="1071" val="-0.025556"/>
|
||||
</Char>
|
||||
<Char code="1029" width="0.56222" height="0.683332" italic="0.119722" />
|
||||
<Char code="1071" width="0.768885" height="0.683332" italic="0.16389" />
|
||||
<Char code="1102" width="0.723218" height="0.430555" italic="0.063124" >
|
||||
<Kern code="1092" val="-0.051111"/>
|
||||
<Kern code="1072" val="-0.051111"/>
|
||||
<Kern code="1083" val="-0.025556"/>
|
||||
<Kern code="1084" val="-0.025556"/>
|
||||
<Kern code="1113" val="-0.025556"/>
|
||||
</Char>
|
||||
<Char code="1078" width="1.047772" height="0.430555" italic="0.056528" />
|
||||
<Char code="1081" width="0.56222" height="0.638838" italic="0.076714" />
|
||||
<Char code="1105" width="0.442108" height="0.659131" italic="0.075139" >
|
||||
<Kern code="1092" val="-0.051111"/>
|
||||
<Kern code="1072" val="-0.051111"/>
|
||||
<Kern code="1083" val="-0.025556"/>
|
||||
<Kern code="1084" val="-0.025556"/>
|
||||
<Kern code="1113" val="-0.025556"/>
|
||||
</Char>
|
||||
<Char code="1141" width="0.615275" height="0.430555" italic="0.120417" >
|
||||
<Kern code="1083" val="-0.076666"/>
|
||||
<Kern code="1084" val="-0.076666"/>
|
||||
<Kern code="1113" val="-0.076666"/>
|
||||
</Char>
|
||||
<Char code="1139" width="0.459997" height="0.430555" italic="0.063124" >
|
||||
<Kern code="1092" val="-0.051111"/>
|
||||
<Kern code="1072" val="-0.051111"/>
|
||||
<Kern code="1083" val="-0.025556"/>
|
||||
<Kern code="1084" val="-0.025556"/>
|
||||
<Kern code="1113" val="-0.025556"/>
|
||||
</Char>
|
||||
<Char code="1109" width="0.408887" height="0.430555" italic="0.082083" />
|
||||
<Char code="1103" width="0.536664" height="0.430555" italic="0.076714" />
|
||||
<Char code="776" width="0.511108" height="0.659131" italic="0.102562" />
|
||||
<Char code="1122" width="0.806107" height="0.75" italic="0.10257" >
|
||||
<Kern code="1046" val="-0.025556"/>
|
||||
<Kern code="1061" val="-0.025556"/>
|
||||
<Kern code="1054" val="-0.025556"/>
|
||||
<Kern code="1060" val="-0.025556"/>
|
||||
<Kern code="1138" val="-0.025556"/>
|
||||
<Kern code="1057" val="-0.025556"/>
|
||||
<Kern code="1028" val="-0.025556"/>
|
||||
<Kern code="1058" val="-0.076666"/>
|
||||
<Kern code="1066" val="-0.076666"/>
|
||||
<Kern code="1026" val="-0.076666"/>
|
||||
<Kern code="1035" val="-0.076666"/>
|
||||
<Kern code="1122" val="-0.076666"/>
|
||||
<Kern code="1063" val="-0.076666"/>
|
||||
<Kern code="1059" val="-0.076666"/>
|
||||
<Kern code="1140" val="-0.1022215"/>
|
||||
<Kern code="1098" val="-0.025556"/>
|
||||
<Kern code="1141" val="-0.025556"/>
|
||||
<Kern code="1082" val="-0.025556"/>
|
||||
<Kern code="1085" val="-0.025556"/>
|
||||
<Kern code="1114" val="-0.025556"/>
|
||||
<Kern code="1087" val="-0.025556"/>
|
||||
<Kern code="1090" val="-0.025556"/>
|
||||
<Kern code="1102" val="-0.025556"/>
|
||||
<Kern code="1123" val="-0.025556"/>
|
||||
<Kern code="1110" val="-0.025556"/>
|
||||
<Kern code="1080" val="-0.025556"/>
|
||||
<Kern code="1081" val="-0.025556"/>
|
||||
<Kern code="1094" val="-0.025556"/>
|
||||
<Kern code="1096" val="-0.025556"/>
|
||||
<Kern code="1097" val="-0.025556"/>
|
||||
<Kern code="1100" val="-0.025556"/>
|
||||
<Kern code="1099" val="-0.025556"/>
|
||||
<Kern code="1091" val="-0.025556"/>
|
||||
</Char>
|
||||
<Char code="774" width="0.511108" height="0.638838" italic="0.094154" />
|
||||
<Char code="1123" width="0.715551" height="0.430555" italic="0.063124" >
|
||||
<Kern code="1083" val="-0.025556"/>
|
||||
<Kern code="1084" val="-0.025556"/>
|
||||
<Kern code="1113" val="-0.025556"/>
|
||||
<Kern code="1141" val="-0.025556"/>
|
||||
<Kern code="1098" val="-0.025556"/>
|
||||
<Kern code="1095" val="-0.076666"/>
|
||||
<Kern code="1086" val="-0.025556"/>
|
||||
<Kern code="1139" val="-0.025556"/>
|
||||
<Kern code="1092" val="-0.025556"/>
|
||||
<Kern code="1108" val="-0.025556"/>
|
||||
</Char>
|
||||
<Char code="171" width="0.56222" height="0.483335" italic="0.022985" />
|
||||
<Char code="305" width="0.306665" height="0.430555" italic="0.076714" />
|
||||
<Char code="187" width="0.56222" height="0.483335" />
|
||||
<Char code="1040" width="0.743329" height="0.683332" >
|
||||
<Kern code="1054" val="-0.025556"/>
|
||||
<Kern code="1060" val="-0.025556"/>
|
||||
<Kern code="1138" val="-0.025556"/>
|
||||
<Kern code="1057" val="-0.025556"/>
|
||||
<Kern code="1028" val="-0.025556"/>
|
||||
<Kern code="1058" val="-0.076666"/>
|
||||
<Kern code="1066" val="-0.076666"/>
|
||||
<Kern code="1026" val="-0.076666"/>
|
||||
<Kern code="1035" val="-0.076666"/>
|
||||
<Kern code="1122" val="-0.076666"/>
|
||||
<Kern code="1063" val="-0.076666"/>
|
||||
<Kern code="1059" val="-0.076666"/>
|
||||
<Kern code="1140" val="-0.1022215"/>
|
||||
<Kern code="1098" val="-0.025556"/>
|
||||
<Kern code="1141" val="-0.025556"/>
|
||||
<Kern code="1082" val="-0.025556"/>
|
||||
<Kern code="1085" val="-0.025556"/>
|
||||
<Kern code="1114" val="-0.025556"/>
|
||||
<Kern code="1087" val="-0.025556"/>
|
||||
<Kern code="1090" val="-0.025556"/>
|
||||
<Kern code="1102" val="-0.025556"/>
|
||||
<Kern code="1123" val="-0.025556"/>
|
||||
<Kern code="1110" val="-0.025556"/>
|
||||
<Kern code="1080" val="-0.025556"/>
|
||||
<Kern code="1081" val="-0.025556"/>
|
||||
<Kern code="1094" val="-0.025556"/>
|
||||
<Kern code="1096" val="-0.025556"/>
|
||||
<Kern code="1097" val="-0.025556"/>
|
||||
<Kern code="1100" val="-0.025556"/>
|
||||
<Kern code="1099" val="-0.025556"/>
|
||||
<Kern code="1091" val="-0.025556"/>
|
||||
</Char>
|
||||
<Char code="1041" width="0.703885" height="0.683332" italic="0.069166" />
|
||||
<Char code="1062" width="0.768885" height="0.683332" depth="0.194445" italic="0.16389" >
|
||||
<Lig code="1061" ligCode="1063"/>
|
||||
<Lig code="1093" ligCode="1063"/>
|
||||
</Char>
|
||||
<Char code="1044" width="0.768885" height="0.683332" depth="0.194445" italic="0.16389" >
|
||||
<Lig code="1032" ligCode="1026"/>
|
||||
<Lig code="1112" ligCode="1026"/>
|
||||
</Char>
|
||||
<Char code="1045" width="0.678329" height="0.683332" italic="0.120277" >
|
||||
</Char>
|
||||
<Char code="1060" width="0.817774" height="0.683332" italic="0.0940275" >
|
||||
<Kern code="1040" val="-0.025556"/>
|
||||
<Kern code="1044" val="-0.025556"/>
|
||||
<Kern code="1046" val="-0.025556"/>
|
||||
<Kern code="1061" val="-0.025556"/>
|
||||
<Kern code="1059" val="-0.025556"/>
|
||||
<Kern code="1140" val="-0.025556"/>
|
||||
<Kern code="1071" val="-0.025556"/>
|
||||
</Char>
|
||||
<Char code="1043" width="0.627218" height="0.683332" italic="0.133055" >
|
||||
<Kern code="1040" val="-0.076666"/>
|
||||
<Kern code="1044" val="-0.076666"/>
|
||||
<Kern code="1071" val="-0.076666"/>
|
||||
<Kern code="1051" val="-0.025556"/>
|
||||
<Kern code="1033" val="-0.025556"/>
|
||||
<Kern code="1072" val="-0.076666"/>
|
||||
<Kern code="1086" val="-0.076666"/>
|
||||
<Kern code="1139" val="-0.076666"/>
|
||||
<Kern code="1077" val="-0.076666"/>
|
||||
<Kern code="1105" val="-0.076666"/>
|
||||
<Kern code="1089" val="-0.076666"/>
|
||||
<Kern code="1108" val="-0.076666"/>
|
||||
<Kern code="1092" val="-0.076666"/>
|
||||
<Kern code="1080" val="-0.076666"/>
|
||||
<Kern code="1081" val="-0.076666"/>
|
||||
<Kern code="1094" val="-0.076666"/>
|
||||
<Kern code="1096" val="-0.076666"/>
|
||||
<Kern code="1097" val="-0.076666"/>
|
||||
<Kern code="1100" val="-0.076666"/>
|
||||
<Kern code="1099" val="-0.076666"/>
|
||||
<Kern code="1091" val="-0.076666"/>
|
||||
<Kern code="1141" val="-0.076666"/>
|
||||
<Kern code="1098" val="-0.076666"/>
|
||||
<Kern code="1083" val="-0.076666"/>
|
||||
<Kern code="1084" val="-0.076666"/>
|
||||
<Kern code="1113" val="-0.076666"/>
|
||||
</Char>
|
||||
<Char code="1061" width="0.743329" height="0.683332" italic="0.158055" >
|
||||
<Kern code="1054" val="-0.025556"/>
|
||||
<Kern code="1060" val="-0.025556"/>
|
||||
<Kern code="1138" val="-0.025556"/>
|
||||
<Kern code="1057" val="-0.025556"/>
|
||||
<Kern code="1028" val="-0.025556"/>
|
||||
<Kern code="1095" val="-0.025556"/>
|
||||
</Char>
|
||||
<Char code="1048" width="0.768885" height="0.683332" italic="0.16389" >
|
||||
</Char>
|
||||
<Char code="1032" width="0.524997" height="0.683332" italic="0.140279" >
|
||||
</Char>
|
||||
<Char code="1050" width="0.768885" height="0.683332" italic="0.145277" >
|
||||
<Lig code="1061" ligCode="1061"/>
|
||||
<Lig code="1093" ligCode="1061"/>
|
||||
<Kern code="1054" val="-0.025556"/>
|
||||
<Kern code="1060" val="-0.025556"/>
|
||||
<Kern code="1138" val="-0.025556"/>
|
||||
<Kern code="1057" val="-0.025556"/>
|
||||
<Kern code="1028" val="-0.025556"/>
|
||||
<Kern code="1095" val="-0.025556"/>
|
||||
</Char>
|
||||
<Char code="1051" width="0.768885" height="0.683332" italic="0.16389" >
|
||||
<Lig code="1032" ligCode="1033"/>
|
||||
<Lig code="1112" ligCode="1033"/>
|
||||
</Char>
|
||||
<Char code="1052" width="0.896662" height="0.683332" italic="0.16389" />
|
||||
<Char code="1053" width="0.768885" height="0.683332" italic="0.16389" >
|
||||
<Lig code="1032" ligCode="1034"/>
|
||||
<Lig code="1112" ligCode="1034"/>
|
||||
</Char>
|
||||
<Char code="1054" width="0.766663" height="0.683332" italic="0.0940275" >
|
||||
<Kern code="1040" val="-0.025556"/>
|
||||
<Kern code="1044" val="-0.025556"/>
|
||||
<Kern code="1046" val="-0.025556"/>
|
||||
<Kern code="1061" val="-0.025556"/>
|
||||
<Kern code="1059" val="-0.025556"/>
|
||||
<Kern code="1140" val="-0.025556"/>
|
||||
<Kern code="1071" val="-0.025556"/>
|
||||
</Char>
|
||||
<Char code="1055" width="0.768885" height="0.683332" italic="0.16389" >
|
||||
</Char>
|
||||
<Char code="1063" width="0.768885" height="0.683332" italic="0.16389" />
|
||||
<Char code="1056" width="0.678329" height="0.683332" italic="0.10257" >
|
||||
<Kern code="1040" val="-0.076666"/>
|
||||
<Kern code="1044" val="-0.076666"/>
|
||||
<Kern code="1051" val="-0.076666"/>
|
||||
<Kern code="1033" val="-0.076666"/>
|
||||
<Kern code="1071" val="-0.076666"/>
|
||||
<Kern code="1072" val="-0.025556"/>
|
||||
<Kern code="1086" val="-0.025556"/>
|
||||
<Kern code="1139" val="-0.025556"/>
|
||||
<Kern code="1077" val="-0.025556"/>
|
||||
<Kern code="1105" val="-0.025556"/>
|
||||
<Kern code="1076" val="-0.076666"/>
|
||||
<Kern code="1083" val="-0.076666"/>
|
||||
<Kern code="1113" val="-0.076666"/>
|
||||
</Char>
|
||||
<Char code="1057" width="0.715551" height="0.683332" italic="0.145277" >
|
||||
<Lig code="1061" ligCode="1064"/>
|
||||
<Lig code="1093" ligCode="1064"/>
|
||||
</Char>
|
||||
<Char code="1058" width="0.715551" height="0.683332" italic="0.133055" >
|
||||
<Lig code="1057" ligCode="1062"/>
|
||||
<Lig code="1089" ligCode="1062"/>
|
||||
<Kern code="1040" val="-0.076666"/>
|
||||
<Kern code="1044" val="-0.076666"/>
|
||||
<Kern code="1071" val="-0.076666"/>
|
||||
<Kern code="1051" val="-0.025556"/>
|
||||
<Kern code="1033" val="-0.025556"/>
|
||||
<Kern code="1072" val="-0.076666"/>
|
||||
<Kern code="1086" val="-0.076666"/>
|
||||
<Kern code="1139" val="-0.076666"/>
|
||||
<Kern code="1077" val="-0.076666"/>
|
||||
<Kern code="1105" val="-0.076666"/>
|
||||
<Kern code="1089" val="-0.076666"/>
|
||||
<Kern code="1108" val="-0.076666"/>
|
||||
<Kern code="1092" val="-0.076666"/>
|
||||
<Kern code="1080" val="-0.076666"/>
|
||||
<Kern code="1081" val="-0.076666"/>
|
||||
<Kern code="1094" val="-0.076666"/>
|
||||
<Kern code="1096" val="-0.076666"/>
|
||||
<Kern code="1097" val="-0.076666"/>
|
||||
<Kern code="1100" val="-0.076666"/>
|
||||
<Kern code="1099" val="-0.076666"/>
|
||||
<Kern code="1091" val="-0.076666"/>
|
||||
<Kern code="1141" val="-0.076666"/>
|
||||
<Kern code="1098" val="-0.076666"/>
|
||||
<Kern code="1083" val="-0.076666"/>
|
||||
<Kern code="1084" val="-0.076666"/>
|
||||
<Kern code="1113" val="-0.076666"/>
|
||||
</Char>
|
||||
<Char code="1059" width="0.743329" height="0.683332" italic="0.183611" >
|
||||
<Kern code="1040" val="-0.076666"/>
|
||||
<Kern code="1071" val="-0.076666"/>
|
||||
<Kern code="1044" val="-0.051111"/>
|
||||
<Kern code="1051" val="-0.051111"/>
|
||||
<Kern code="1033" val="-0.051111"/>
|
||||
<Kern code="1054" val="-0.025556"/>
|
||||
<Kern code="1060" val="-0.025556"/>
|
||||
<Kern code="1138" val="-0.025556"/>
|
||||
<Kern code="1057" val="-0.025556"/>
|
||||
<Kern code="1028" val="-0.025556"/>
|
||||
<Kern code="1072" val="-0.076666"/>
|
||||
<Kern code="1086" val="-0.076666"/>
|
||||
<Kern code="1139" val="-0.076666"/>
|
||||
<Kern code="1077" val="-0.076666"/>
|
||||
<Kern code="1105" val="-0.076666"/>
|
||||
<Kern code="1089" val="-0.076666"/>
|
||||
<Kern code="1108" val="-0.076666"/>
|
||||
<Kern code="1080" val="-0.1022215"/>
|
||||
<Kern code="1081" val="-0.1022215"/>
|
||||
<Kern code="1094" val="-0.1022215"/>
|
||||
<Kern code="1096" val="-0.1022215"/>
|
||||
<Kern code="1097" val="-0.1022215"/>
|
||||
<Kern code="1100" val="-0.1022215"/>
|
||||
<Kern code="1099" val="-0.1022215"/>
|
||||
<Kern code="1091" val="-0.1022215"/>
|
||||
<Kern code="1141" val="-0.1022215"/>
|
||||
<Kern code="1098" val="-0.1022215"/>
|
||||
<Kern code="1083" val="-0.1022215"/>
|
||||
<Kern code="1084" val="-0.1022215"/>
|
||||
<Kern code="1113" val="-0.1022215"/>
|
||||
</Char>
|
||||
<Char code="1042" width="0.703885" height="0.683332" italic="0.077014" />
|
||||
<Char code="1065" width="1.088327" height="0.683332" depth="0.194445" italic="0.16389" />
|
||||
<Char code="1064" width="1.088327" height="0.683332" italic="0.16389" >
|
||||
<Lig code="1063" ligCode="1065"/>
|
||||
<Lig code="1095" ligCode="1065"/>
|
||||
<Lig code="1062" ligCode="0"/>
|
||||
<Lig code="1094" ligCode="0"/>
|
||||
</Char>
|
||||
<Char code="1067" width="0.947772" height="0.683332" italic="0.16389" >
|
||||
<Lig code="1040" ligCode="1071"/>
|
||||
<Lig code="1072" ligCode="1071"/>
|
||||
<Lig code="1059" ligCode="1070"/>
|
||||
<Lig code="1091" ligCode="1070"/>
|
||||
</Char>
|
||||
<Char code="1047" width="0.61333" height="0.683332" italic="0.10257" >
|
||||
<Lig code="1061" ligCode="1046"/>
|
||||
<Lig code="1093" ligCode="1046"/>
|
||||
</Char>
|
||||
<Char code="1068" width="0.703885" height="0.683332" italic="0.036629" >
|
||||
<Kern code="1046" val="-0.025556"/>
|
||||
<Kern code="1061" val="-0.025556"/>
|
||||
<Kern code="1054" val="-0.025556"/>
|
||||
<Kern code="1060" val="-0.025556"/>
|
||||
<Kern code="1138" val="-0.025556"/>
|
||||
<Kern code="1057" val="-0.025556"/>
|
||||
<Kern code="1028" val="-0.025556"/>
|
||||
<Kern code="1058" val="-0.076666"/>
|
||||
<Kern code="1066" val="-0.076666"/>
|
||||
<Kern code="1026" val="-0.076666"/>
|
||||
<Kern code="1035" val="-0.076666"/>
|
||||
<Kern code="1122" val="-0.076666"/>
|
||||
<Kern code="1063" val="-0.076666"/>
|
||||
<Kern code="1059" val="-0.076666"/>
|
||||
<Kern code="1140" val="-0.1022215"/>
|
||||
<Kern code="1098" val="-0.025556"/>
|
||||
<Kern code="1141" val="-0.025556"/>
|
||||
<Kern code="1082" val="-0.025556"/>
|
||||
<Kern code="1085" val="-0.025556"/>
|
||||
<Kern code="1114" val="-0.025556"/>
|
||||
<Kern code="1087" val="-0.025556"/>
|
||||
<Kern code="1090" val="-0.025556"/>
|
||||
<Kern code="1102" val="-0.025556"/>
|
||||
<Kern code="1123" val="-0.025556"/>
|
||||
<Kern code="1110" val="-0.025556"/>
|
||||
<Kern code="1080" val="-0.025556"/>
|
||||
<Kern code="1081" val="-0.025556"/>
|
||||
<Kern code="1094" val="-0.025556"/>
|
||||
<Kern code="1096" val="-0.025556"/>
|
||||
<Kern code="1097" val="-0.025556"/>
|
||||
<Kern code="1100" val="-0.025556"/>
|
||||
<Kern code="1099" val="-0.025556"/>
|
||||
<Kern code="1091" val="-0.025556"/>
|
||||
</Char>
|
||||
<Char code="1066" width="0.868884" height="0.683332" italic="0.036629" >
|
||||
<Kern code="1046" val="-0.025556"/>
|
||||
<Kern code="1061" val="-0.025556"/>
|
||||
<Kern code="1054" val="-0.025556"/>
|
||||
<Kern code="1060" val="-0.025556"/>
|
||||
<Kern code="1138" val="-0.025556"/>
|
||||
<Kern code="1057" val="-0.025556"/>
|
||||
<Kern code="1028" val="-0.025556"/>
|
||||
<Kern code="1058" val="-0.076666"/>
|
||||
<Kern code="1066" val="-0.076666"/>
|
||||
<Kern code="1026" val="-0.076666"/>
|
||||
<Kern code="1035" val="-0.076666"/>
|
||||
<Kern code="1122" val="-0.076666"/>
|
||||
<Kern code="1063" val="-0.076666"/>
|
||||
<Kern code="1059" val="-0.076666"/>
|
||||
<Kern code="1140" val="-0.1022215"/>
|
||||
<Kern code="1098" val="-0.025556"/>
|
||||
<Kern code="1141" val="-0.025556"/>
|
||||
<Kern code="1082" val="-0.025556"/>
|
||||
<Kern code="1085" val="-0.025556"/>
|
||||
<Kern code="1114" val="-0.025556"/>
|
||||
<Kern code="1087" val="-0.025556"/>
|
||||
<Kern code="1090" val="-0.025556"/>
|
||||
<Kern code="1102" val="-0.025556"/>
|
||||
<Kern code="1123" val="-0.025556"/>
|
||||
<Kern code="1110" val="-0.025556"/>
|
||||
<Kern code="1080" val="-0.025556"/>
|
||||
<Kern code="1081" val="-0.025556"/>
|
||||
<Kern code="1094" val="-0.025556"/>
|
||||
<Kern code="1096" val="-0.025556"/>
|
||||
<Kern code="1097" val="-0.025556"/>
|
||||
<Kern code="1100" val="-0.025556"/>
|
||||
<Kern code="1099" val="-0.025556"/>
|
||||
<Kern code="1091" val="-0.025556"/>
|
||||
</Char>
|
||||
<Char code="1072" width="0.493219" height="0.430555" italic="0.076714" />
|
||||
<Char code="1073" width="0.475329" height="0.694445" italic="0.154445" >
|
||||
<Kern code="1092" val="-0.051111"/>
|
||||
<Kern code="1072" val="-0.051111"/>
|
||||
<Kern code="1083" val="-0.025556"/>
|
||||
<Kern code="1084" val="-0.025556"/>
|
||||
<Kern code="1113" val="-0.025556"/>
|
||||
</Char>
|
||||
<Char code="1094" width="0.567331" height="0.430555" depth="0.194445" italic="0.076714" >
|
||||
<Lig code="1093" ligCode="1095"/>
|
||||
</Char>
|
||||
<Char code="1076" width="0.475329" height="0.694445" italic="0.113861" >
|
||||
<Lig code="1112" ligCode="1106"/>
|
||||
</Char>
|
||||
<Char code="1077" width="0.442108" height="0.430555" italic="0.075139" >
|
||||
<Kern code="1092" val="-0.051111"/>
|
||||
<Kern code="1072" val="-0.051111"/>
|
||||
<Kern code="1083" val="-0.025556"/>
|
||||
<Kern code="1084" val="-0.025556"/>
|
||||
<Kern code="1113" val="-0.025556"/>
|
||||
</Char>
|
||||
<Char code="1092" width="0.679773" height="0.694445" depth="0.194445" italic="0.063124" >
|
||||
<Kern code="1092" val="-0.051111"/>
|
||||
<Kern code="1072" val="-0.051111"/>
|
||||
<Kern code="1083" val="-0.025556"/>
|
||||
<Kern code="1084" val="-0.025556"/>
|
||||
<Kern code="1113" val="-0.025556"/>
|
||||
</Char>
|
||||
<Char code="1075" width="0.421664" height="0.430555" italic="0.075139" />
|
||||
<Char code="1093" width="0.540553" height="0.430555" italic="0.120417" />
|
||||
<Char code="1080" width="0.56222" height="0.430555" italic="0.076714" >
|
||||
</Char>
|
||||
<Char code="1112" width="0.306665" height="0.655359" depth="0.194445" italic="0.144673" >
|
||||
</Char>
|
||||
<Char code="1082" width="0.511108" height="0.430555" italic="0.107638" >
|
||||
<Lig code="1093" ligCode="1093"/>
|
||||
</Char>
|
||||
<Char code="1083" width="0.536664" height="0.430555" italic="0.076714" >
|
||||
<Lig code="1112" ligCode="1113"/>
|
||||
<Kern code="1083" val="-0.025556"/>
|
||||
<Kern code="1084" val="-0.025556"/>
|
||||
<Kern code="1113" val="-0.025556"/>
|
||||
<Kern code="1141" val="-0.025556"/>
|
||||
<Kern code="1098" val="-0.025556"/>
|
||||
<Kern code="1095" val="-0.076666"/>
|
||||
</Char>
|
||||
<Char code="1084" width="0.741107" height="0.430555" italic="0.076714" />
|
||||
<Char code="1085" width="0.56222" height="0.430555" italic="0.076714" >
|
||||
<Lig code="1112" ligCode="1114"/>
|
||||
</Char>
|
||||
<Char code="1086" width="0.475329" height="0.430555" italic="0.063124" >
|
||||
<Kern code="1092" val="-0.051111"/>
|
||||
<Kern code="1072" val="-0.051111"/>
|
||||
<Kern code="1083" val="-0.025556"/>
|
||||
<Kern code="1084" val="-0.025556"/>
|
||||
<Kern code="1113" val="-0.025556"/>
|
||||
</Char>
|
||||
<Char code="1087" width="0.56222" height="0.430555" italic="0.076714" >
|
||||
</Char>
|
||||
<Char code="1095" width="0.536664" height="0.430555" italic="0.076714" />
|
||||
<Char code="1088" width="0.505997" height="0.430555" depth="0.194445" italic="0.063124" >
|
||||
<Kern code="1092" val="-0.051111"/>
|
||||
<Kern code="1072" val="-0.051111"/>
|
||||
<Kern code="1083" val="-0.025556"/>
|
||||
<Kern code="1084" val="-0.025556"/>
|
||||
<Kern code="1113" val="-0.025556"/>
|
||||
</Char>
|
||||
<Char code="1089" width="0.442108" height="0.430555" italic="0.056528" >
|
||||
<Lig code="1093" ligCode="1096"/>
|
||||
<Kern code="1092" val="-0.051111"/>
|
||||
<Kern code="1072" val="-0.051111"/>
|
||||
<Kern code="1083" val="-0.025556"/>
|
||||
<Kern code="1084" val="-0.025556"/>
|
||||
<Kern code="1113" val="-0.025556"/>
|
||||
</Char>
|
||||
<Char code="1090" width="0.817774" height="0.430555" italic="0.076714" >
|
||||
<Lig code="1089" ligCode="1094"/>
|
||||
</Char>
|
||||
<Char code="1091" width="0.511108" height="0.430555" depth="0.194445" italic="0.088472" />
|
||||
<Char code="1074" width="0.493219" height="0.430555" italic="0.075139" />
|
||||
<Char code="1097" width="0.8228855" height="0.430555" depth="0.194445" italic="0.076714" />
|
||||
<Char code="1096" width="0.817774" height="0.430555" italic="0.076714" >
|
||||
<Lig code="1095" ligCode="1097"/>
|
||||
<Lig code="1094" ligCode="0"/>
|
||||
</Char>
|
||||
<Char code="1099" width="0.664441" height="0.430555" italic="0.076714" >
|
||||
<Lig code="1072" ligCode="1103"/>
|
||||
<Lig code="1091" ligCode="1102"/>
|
||||
</Char>
|
||||
<Char code="1079" width="0.459997" height="0.430555" italic="0.056528" >
|
||||
<Lig code="1093" ligCode="1078"/>
|
||||
</Char>
|
||||
<Char code="1100" width="0.511108" height="0.430555" italic="0.063124" >
|
||||
<Kern code="1083" val="-0.025556"/>
|
||||
<Kern code="1084" val="-0.025556"/>
|
||||
<Kern code="1113" val="-0.025556"/>
|
||||
<Kern code="1141" val="-0.025556"/>
|
||||
<Kern code="1098" val="-0.025556"/>
|
||||
<Kern code="1095" val="-0.076666"/>
|
||||
<Kern code="1086" val="-0.025556"/>
|
||||
<Kern code="1139" val="-0.025556"/>
|
||||
<Kern code="1092" val="-0.025556"/>
|
||||
<Kern code="1108" val="-0.025556"/>
|
||||
</Char>
|
||||
<Char code="1098" width="0.485553" height="0.430555" italic="0.063124" >
|
||||
<Kern code="1083" val="-0.025556"/>
|
||||
<Kern code="1084" val="-0.025556"/>
|
||||
<Kern code="1113" val="-0.025556"/>
|
||||
<Kern code="1141" val="-0.025556"/>
|
||||
<Kern code="1098" val="-0.025556"/>
|
||||
<Kern code="1095" val="-0.076666"/>
|
||||
<Kern code="1086" val="-0.025556"/>
|
||||
<Kern code="1139" val="-0.025556"/>
|
||||
<Kern code="1092" val="-0.025556"/>
|
||||
<Kern code="1108" val="-0.025556"/>
|
||||
</Char>
|
||||
</Font>
|
||||
|
||||
BIN
3rdparty/MicroTeX/res/cyrillic/wntt10.ttf
vendored
Normal file
BIN
3rdparty/MicroTeX/res/cyrillic/wntt10.ttf
vendored
Normal file
Binary file not shown.
162
3rdparty/MicroTeX/res/cyrillic/wntt10.xml
vendored
Normal file
162
3rdparty/MicroTeX/res/cyrillic/wntt10.xml
vendored
Normal file
@ -0,0 +1,162 @@
|
||||
<Font name="wntt10.ttf" id="wntt10" space="0.524996" xHeight="0.430555" quad="1.049991" unicode="95" romanVersion="wnr10" ssVersion="wnss10">
|
||||
<Char code="1034" width="0.524996" height="0.611112" />
|
||||
<Char code="1033" width="0.524996" height="0.611112" />
|
||||
<Char code="1039" width="0.524996" height="0.611112" depth="0.166667" />
|
||||
<Char code="1069" width="0.524996" height="0.611112" />
|
||||
<Char code="1030" width="0.524996" height="0.611112" />
|
||||
<Char code="1028" width="0.524996" height="0.611112" />
|
||||
<Char code="1026" width="0.524996" height="0.611112" />
|
||||
<Char code="1035" width="0.524996" height="0.611112" />
|
||||
<Char code="1114" width="0.524996" height="0.430555" />
|
||||
<Char code="1113" width="0.524996" height="0.430555" />
|
||||
<Char code="1119" width="0.524996" height="0.430555" depth="0.13889" />
|
||||
<Char code="1101" width="0.524996" height="0.430555" />
|
||||
<Char code="1110" width="0.524996" height="0.611112" />
|
||||
<Char code="1108" width="0.524996" height="0.430555" />
|
||||
<Char code="1106" width="0.524996" height="0.611112" depth="0.222223" />
|
||||
<Char code="1115" width="0.524996" height="0.611112" />
|
||||
<Char code="1070" width="0.524996" height="0.611112" />
|
||||
<Char code="1046" width="0.524996" height="0.611112" />
|
||||
<Char code="1049" width="0.524996" height="0.819394" />
|
||||
<Char code="1025" width="0.524996" height="0.819394" />
|
||||
<Char code="1140" width="0.524996" height="0.611112" />
|
||||
<Char code="1138" width="0.524996" height="0.611112" />
|
||||
<Char code="1029" width="0.524996" height="0.611112" />
|
||||
<Char code="1071" width="0.524996" height="0.611112" />
|
||||
<Char code="1102" width="0.524996" height="0.430555" />
|
||||
<Char code="1078" width="0.524996" height="0.430555" />
|
||||
<Char code="1081" width="0.524996" height="0.638838" />
|
||||
<Char code="1105" width="0.524996" height="0.611112" />
|
||||
<Char code="1141" width="0.524996" height="0.430555" />
|
||||
<Char code="1139" width="0.524996" height="0.430555" />
|
||||
<Char code="1109" width="0.524996" height="0.430555" />
|
||||
<Char code="1103" width="0.524996" height="0.430555" />
|
||||
<Char code="776" width="0.524996" height="0.611112" />
|
||||
<Char code="1122" width="0.524996" height="0.694445" />
|
||||
<Char code="774" width="0.524996" height="0.638838" />
|
||||
<Char code="1123" width="0.524996" height="0.638838" />
|
||||
<Char code="171" width="0.524996" height="0.438889" />
|
||||
<Char code="305" width="0.524996" height="0.430555" />
|
||||
<Char code="187" width="0.524996" height="0.438889" />
|
||||
<Char code="1040" width="0.524996" height="0.611112" />
|
||||
<Char code="1041" width="0.524996" height="0.611112" />
|
||||
<Char code="1062" width="0.524996" height="0.611112" depth="0.166667" >
|
||||
<Lig code="1061" ligCode="1063"/>
|
||||
<Lig code="1093" ligCode="1063"/>
|
||||
</Char>
|
||||
<Char code="1044" width="0.524996" height="0.611112" depth="0.166667" >
|
||||
<Lig code="1032" ligCode="1026"/>
|
||||
<Lig code="1112" ligCode="1026"/>
|
||||
</Char>
|
||||
<Char code="1045" width="0.524996" height="0.611112" >
|
||||
</Char>
|
||||
<Char code="1060" width="0.524996" height="0.611112" />
|
||||
<Char code="1043" width="0.524996" height="0.611112" />
|
||||
<Char code="1061" width="0.524996" height="0.611112" />
|
||||
<Char code="1048" width="0.524996" height="0.611112" >
|
||||
</Char>
|
||||
<Char code="1032" width="0.524996" height="0.611112" >
|
||||
</Char>
|
||||
<Char code="1050" width="0.524996" height="0.611112" >
|
||||
<Lig code="1061" ligCode="1061"/>
|
||||
<Lig code="1093" ligCode="1061"/>
|
||||
</Char>
|
||||
<Char code="1051" width="0.524996" height="0.611112" >
|
||||
<Lig code="1032" ligCode="1033"/>
|
||||
<Lig code="1112" ligCode="1033"/>
|
||||
</Char>
|
||||
<Char code="1052" width="0.524996" height="0.611112" />
|
||||
<Char code="1053" width="0.524996" height="0.611112" >
|
||||
<Lig code="1032" ligCode="1034"/>
|
||||
<Lig code="1112" ligCode="1034"/>
|
||||
</Char>
|
||||
<Char code="1054" width="0.524996" height="0.611112" />
|
||||
<Char code="1055" width="0.524996" height="0.611112" >
|
||||
</Char>
|
||||
<Char code="1063" width="0.524996" height="0.611112" />
|
||||
<Char code="1056" width="0.524996" height="0.611112" />
|
||||
<Char code="1057" width="0.524996" height="0.611112" >
|
||||
<Lig code="1061" ligCode="1064"/>
|
||||
<Lig code="1093" ligCode="1064"/>
|
||||
</Char>
|
||||
<Char code="1058" width="0.524996" height="0.611112" >
|
||||
<Lig code="1057" ligCode="1062"/>
|
||||
<Lig code="1089" ligCode="1062"/>
|
||||
</Char>
|
||||
<Char code="1059" width="0.524996" height="0.611112" />
|
||||
<Char code="1042" width="0.524996" height="0.611112" />
|
||||
<Char code="1065" width="0.524996" height="0.611112" depth="0.166667" />
|
||||
<Char code="1064" width="0.524996" height="0.611112" >
|
||||
<Lig code="1063" ligCode="1065"/>
|
||||
<Lig code="1095" ligCode="1065"/>
|
||||
<Lig code="1062" ligCode="0"/>
|
||||
<Lig code="1094" ligCode="0"/>
|
||||
</Char>
|
||||
<Char code="1067" width="0.524996" height="0.611112" >
|
||||
<Lig code="1040" ligCode="1071"/>
|
||||
<Lig code="1072" ligCode="1071"/>
|
||||
<Lig code="1059" ligCode="1070"/>
|
||||
<Lig code="1091" ligCode="1070"/>
|
||||
</Char>
|
||||
<Char code="1047" width="0.524996" height="0.611112" >
|
||||
<Lig code="1061" ligCode="1046"/>
|
||||
<Lig code="1093" ligCode="1046"/>
|
||||
</Char>
|
||||
<Char code="1068" width="0.524996" height="0.611112" />
|
||||
<Char code="1066" width="0.524996" height="0.611112" />
|
||||
<Char code="1072" width="0.524996" height="0.430555" />
|
||||
<Char code="1073" width="0.524996" height="0.611112" />
|
||||
<Char code="1094" width="0.524996" height="0.430555" depth="0.13889" >
|
||||
<Lig code="1093" ligCode="1095"/>
|
||||
</Char>
|
||||
<Char code="1076" width="0.524996" height="0.430555" depth="0.13889" >
|
||||
<Lig code="1112" ligCode="1106"/>
|
||||
</Char>
|
||||
<Char code="1077" width="0.524996" height="0.430555" >
|
||||
</Char>
|
||||
<Char code="1092" width="0.524996" height="0.611112" depth="0.222223" />
|
||||
<Char code="1075" width="0.524996" height="0.430555" />
|
||||
<Char code="1093" width="0.524996" height="0.430555" />
|
||||
<Char code="1080" width="0.524996" height="0.430555" >
|
||||
</Char>
|
||||
<Char code="1112" width="0.524996" height="0.611112" depth="0.222223" >
|
||||
</Char>
|
||||
<Char code="1082" width="0.524996" height="0.430555" >
|
||||
<Lig code="1093" ligCode="1093"/>
|
||||
</Char>
|
||||
<Char code="1083" width="0.524996" height="0.430555" >
|
||||
<Lig code="1112" ligCode="1113"/>
|
||||
</Char>
|
||||
<Char code="1084" width="0.524996" height="0.430555" />
|
||||
<Char code="1085" width="0.524996" height="0.430555" >
|
||||
<Lig code="1112" ligCode="1114"/>
|
||||
</Char>
|
||||
<Char code="1086" width="0.524996" height="0.430555" />
|
||||
<Char code="1087" width="0.524996" height="0.430555" >
|
||||
</Char>
|
||||
<Char code="1095" width="0.524996" height="0.430555" />
|
||||
<Char code="1088" width="0.524996" height="0.430555" depth="0.222223" />
|
||||
<Char code="1089" width="0.524996" height="0.430555" >
|
||||
<Lig code="1093" ligCode="1096"/>
|
||||
</Char>
|
||||
<Char code="1090" width="0.524996" height="0.430555" >
|
||||
<Lig code="1089" ligCode="1094"/>
|
||||
</Char>
|
||||
<Char code="1091" width="0.524996" height="0.430555" depth="0.222223" />
|
||||
<Char code="1074" width="0.524996" height="0.430555" />
|
||||
<Char code="1097" width="0.524996" height="0.430555" depth="0.13889" />
|
||||
<Char code="1096" width="0.524996" height="0.430555" >
|
||||
<Lig code="1095" ligCode="1097"/>
|
||||
<Lig code="1094" ligCode="0"/>
|
||||
</Char>
|
||||
<Char code="1099" width="0.524996" height="0.430555" >
|
||||
<Lig code="1072" ligCode="1103"/>
|
||||
<Lig code="1091" ligCode="1102"/>
|
||||
</Char>
|
||||
<Char code="1079" width="0.524996" height="0.430555" >
|
||||
<Lig code="1093" ligCode="1078"/>
|
||||
</Char>
|
||||
<Char code="1100" width="0.524996" height="0.430555" />
|
||||
<Char code="1098" width="0.524996" height="0.430555" />
|
||||
</Font>
|
||||
|
||||
BIN
3rdparty/MicroTeX/res/fonts/base/cmex10.ttf
vendored
Normal file
BIN
3rdparty/MicroTeX/res/fonts/base/cmex10.ttf
vendored
Normal file
Binary file not shown.
BIN
3rdparty/MicroTeX/res/fonts/base/cmmi10.ttf
vendored
Normal file
BIN
3rdparty/MicroTeX/res/fonts/base/cmmi10.ttf
vendored
Normal file
Binary file not shown.
BIN
3rdparty/MicroTeX/res/fonts/base/cmmib10.ttf
vendored
Normal file
BIN
3rdparty/MicroTeX/res/fonts/base/cmmib10.ttf
vendored
Normal file
Binary file not shown.
BIN
3rdparty/MicroTeX/res/fonts/euler/eufb10.ttf
vendored
Normal file
BIN
3rdparty/MicroTeX/res/fonts/euler/eufb10.ttf
vendored
Normal file
Binary file not shown.
BIN
3rdparty/MicroTeX/res/fonts/euler/eufm10.ttf
vendored
Normal file
BIN
3rdparty/MicroTeX/res/fonts/euler/eufm10.ttf
vendored
Normal file
Binary file not shown.
BIN
3rdparty/MicroTeX/res/fonts/latin/bi10.ttf
vendored
Normal file
BIN
3rdparty/MicroTeX/res/fonts/latin/bi10.ttf
vendored
Normal file
Binary file not shown.
BIN
3rdparty/MicroTeX/res/fonts/latin/bx10.ttf
vendored
Normal file
BIN
3rdparty/MicroTeX/res/fonts/latin/bx10.ttf
vendored
Normal file
Binary file not shown.
BIN
3rdparty/MicroTeX/res/fonts/latin/cmr10.ttf
vendored
Normal file
BIN
3rdparty/MicroTeX/res/fonts/latin/cmr10.ttf
vendored
Normal file
Binary file not shown.
BIN
3rdparty/MicroTeX/res/fonts/latin/i10.ttf
vendored
Normal file
BIN
3rdparty/MicroTeX/res/fonts/latin/i10.ttf
vendored
Normal file
Binary file not shown.
BIN
3rdparty/MicroTeX/res/fonts/latin/optional/cmbx10.ttf
vendored
Normal file
BIN
3rdparty/MicroTeX/res/fonts/latin/optional/cmbx10.ttf
vendored
Normal file
Binary file not shown.
BIN
3rdparty/MicroTeX/res/fonts/latin/optional/cmbxti10.ttf
vendored
Normal file
BIN
3rdparty/MicroTeX/res/fonts/latin/optional/cmbxti10.ttf
vendored
Normal file
Binary file not shown.
BIN
3rdparty/MicroTeX/res/fonts/latin/optional/cmss10.ttf
vendored
Normal file
BIN
3rdparty/MicroTeX/res/fonts/latin/optional/cmss10.ttf
vendored
Normal file
Binary file not shown.
BIN
3rdparty/MicroTeX/res/fonts/latin/optional/cmssbx10.ttf
vendored
Normal file
BIN
3rdparty/MicroTeX/res/fonts/latin/optional/cmssbx10.ttf
vendored
Normal file
Binary file not shown.
BIN
3rdparty/MicroTeX/res/fonts/latin/optional/cmssi10.ttf
vendored
Normal file
BIN
3rdparty/MicroTeX/res/fonts/latin/optional/cmssi10.ttf
vendored
Normal file
Binary file not shown.
BIN
3rdparty/MicroTeX/res/fonts/latin/optional/cmti10.ttf
vendored
Normal file
BIN
3rdparty/MicroTeX/res/fonts/latin/optional/cmti10.ttf
vendored
Normal file
Binary file not shown.
BIN
3rdparty/MicroTeX/res/fonts/latin/optional/cmtt10.ttf
vendored
Normal file
BIN
3rdparty/MicroTeX/res/fonts/latin/optional/cmtt10.ttf
vendored
Normal file
Binary file not shown.
BIN
3rdparty/MicroTeX/res/fonts/latin/r10.ttf
vendored
Normal file
BIN
3rdparty/MicroTeX/res/fonts/latin/r10.ttf
vendored
Normal file
Binary file not shown.
BIN
3rdparty/MicroTeX/res/fonts/latin/sb10.ttf
vendored
Normal file
BIN
3rdparty/MicroTeX/res/fonts/latin/sb10.ttf
vendored
Normal file
Binary file not shown.
BIN
3rdparty/MicroTeX/res/fonts/latin/sbi10.ttf
vendored
Normal file
BIN
3rdparty/MicroTeX/res/fonts/latin/sbi10.ttf
vendored
Normal file
Binary file not shown.
BIN
3rdparty/MicroTeX/res/fonts/latin/si10.ttf
vendored
Normal file
BIN
3rdparty/MicroTeX/res/fonts/latin/si10.ttf
vendored
Normal file
Binary file not shown.
BIN
3rdparty/MicroTeX/res/fonts/latin/ss10.ttf
vendored
Normal file
BIN
3rdparty/MicroTeX/res/fonts/latin/ss10.ttf
vendored
Normal file
Binary file not shown.
BIN
3rdparty/MicroTeX/res/fonts/latin/tt10.ttf
vendored
Normal file
BIN
3rdparty/MicroTeX/res/fonts/latin/tt10.ttf
vendored
Normal file
Binary file not shown.
5
3rdparty/MicroTeX/res/fonts/licences/Knuth_License.txt
vendored
Normal file
5
3rdparty/MicroTeX/res/fonts/licences/Knuth_License.txt
vendored
Normal file
@ -0,0 +1,5 @@
|
||||
Knuth License
|
||||
|
||||
This software is copyright and you are explicitly granted a license which gives you, the "user" of the software, legal permission to copy, distribute and/or modify the software, so long as if you modify the software then it carry a different name from the original software.
|
||||
|
||||
All the same, please check the specific details of the software's license before making modifications.
|
||||
8
3rdparty/MicroTeX/res/fonts/licences/License_for_dsrom.txt
vendored
Normal file
8
3rdparty/MicroTeX/res/fonts/licences/License_for_dsrom.txt
vendored
Normal file
@ -0,0 +1,8 @@
|
||||
License
|
||||
-------
|
||||
|
||||
You may use and distribute these fonts as you like.
|
||||
You may modify these fonts as long as you do not
|
||||
rename the files to one of those names that
|
||||
Donald E. Knuth chose for the Computer Modern fonts.
|
||||
(And seriously, who would want to do that?)
|
||||
98
3rdparty/MicroTeX/res/fonts/licences/OFL.txt
vendored
Normal file
98
3rdparty/MicroTeX/res/fonts/licences/OFL.txt
vendored
Normal file
@ -0,0 +1,98 @@
|
||||
Copyright (c) 1997, 2009, American Mathematical Society (http://www.ams.org).
|
||||
All Rights Reserved.
|
||||
|
||||
"eufb10" is a Reserved Font Name for this Font Software.
|
||||
"eufm10" is a Reserved Font Name for this Font Software.
|
||||
"msam10" is a Reserved Font Name for this Font Software.
|
||||
"msbm10" is a Reserved Font Name for this Font Software.
|
||||
|
||||
This Font Software is licensed under the SIL Open Font License, Version 1.1.
|
||||
This license is copied below, and is also available with a FAQ at:
|
||||
http://scripts.sil.org/OFL
|
||||
|
||||
-----------------------------------------------------------
|
||||
SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
|
||||
-----------------------------------------------------------
|
||||
|
||||
PREAMBLE
|
||||
The goals of the Open Font License (OFL) are to stimulate worldwide
|
||||
development of collaborative font projects, to support the font creation
|
||||
efforts of academic and linguistic communities, and to provide a free and
|
||||
open framework in which fonts may be shared and improved in partnership
|
||||
with others.
|
||||
|
||||
The OFL allows the licensed fonts to be used, studied, modified and
|
||||
redistributed freely as long as they are not sold by themselves. The
|
||||
fonts, including any derivative works, can be bundled, embedded,
|
||||
redistributed and/or sold with any software provided that any reserved
|
||||
names are not used by derivative works. The fonts and derivatives,
|
||||
however, cannot be released under any other type of license. The
|
||||
requirement for fonts to remain under this license does not apply
|
||||
to any document created using the fonts or their derivatives.
|
||||
|
||||
DEFINITIONS
|
||||
"Font Software" refers to the set of files released by the Copyright
|
||||
Holder(s) under this license and clearly marked as such. This may
|
||||
include source files, build scripts and documentation.
|
||||
|
||||
"Reserved Font Name" refers to any names specified as such after the
|
||||
copyright statement(s).
|
||||
|
||||
"Original Version" refers to the collection of Font Software components as
|
||||
distributed by the Copyright Holder(s).
|
||||
|
||||
"Modified Version" refers to any derivative made by adding to, deleting,
|
||||
or substituting -- in part or in whole -- any of the components of the
|
||||
Original Version, by changing formats or by porting the Font Software to a
|
||||
new environment.
|
||||
|
||||
"Author" refers to any designer, engineer, programmer, technical
|
||||
writer or other person who contributed to the Font Software.
|
||||
|
||||
PERMISSION & CONDITIONS
|
||||
Permission is hereby granted, free of charge, to any person obtaining
|
||||
a copy of the Font Software, to use, study, copy, merge, embed, modify,
|
||||
redistribute, and sell modified and unmodified copies of the Font
|
||||
Software, subject to the following conditions:
|
||||
|
||||
1) Neither the Font Software nor any of its individual components,
|
||||
in Original or Modified Versions, may be sold by itself.
|
||||
|
||||
2) Original or Modified Versions of the Font Software may be bundled,
|
||||
redistributed and/or sold with any software, provided that each copy
|
||||
contains the above copyright notice and this license. These can be
|
||||
included either as stand-alone text files, human-readable headers or
|
||||
in the appropriate machine-readable metadata fields within text or
|
||||
binary files as long as those fields can be easily viewed by the user.
|
||||
|
||||
3) No Modified Version of the Font Software may use the Reserved Font
|
||||
Name(s) unless explicit written permission is granted by the corresponding
|
||||
Copyright Holder. This restriction only applies to the primary font name as
|
||||
presented to the users.
|
||||
|
||||
4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
|
||||
Software shall not be used to promote, endorse or advertise any
|
||||
Modified Version, except to acknowledge the contribution(s) of the
|
||||
Copyright Holder(s) and the Author(s) or with their explicit written
|
||||
permission.
|
||||
|
||||
5) The Font Software, modified or unmodified, in part or in whole,
|
||||
must be distributed entirely under this license, and must not be
|
||||
distributed under any other license. The requirement for fonts to
|
||||
remain under this license does not apply to any document created
|
||||
using the Font Software.
|
||||
|
||||
TERMINATION
|
||||
This license becomes null and void if any of the above conditions are
|
||||
not met.
|
||||
|
||||
DISCLAIMER
|
||||
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
|
||||
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
|
||||
OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
|
||||
COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
||||
INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
|
||||
DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||
FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
|
||||
OTHER DEALINGS IN THE FONT SOFTWARE.
|
||||
BIN
3rdparty/MicroTeX/res/fonts/maths/cmbsy10.ttf
vendored
Normal file
BIN
3rdparty/MicroTeX/res/fonts/maths/cmbsy10.ttf
vendored
Normal file
Binary file not shown.
BIN
3rdparty/MicroTeX/res/fonts/maths/cmsy10.ttf
vendored
Normal file
BIN
3rdparty/MicroTeX/res/fonts/maths/cmsy10.ttf
vendored
Normal file
Binary file not shown.
BIN
3rdparty/MicroTeX/res/fonts/maths/msam10.ttf
vendored
Normal file
BIN
3rdparty/MicroTeX/res/fonts/maths/msam10.ttf
vendored
Normal file
Binary file not shown.
BIN
3rdparty/MicroTeX/res/fonts/maths/msbm10.ttf
vendored
Normal file
BIN
3rdparty/MicroTeX/res/fonts/maths/msbm10.ttf
vendored
Normal file
Binary file not shown.
BIN
3rdparty/MicroTeX/res/fonts/maths/optional/dsrom10.ttf
vendored
Normal file
BIN
3rdparty/MicroTeX/res/fonts/maths/optional/dsrom10.ttf
vendored
Normal file
Binary file not shown.
BIN
3rdparty/MicroTeX/res/fonts/maths/rsfs10.ttf
vendored
Normal file
BIN
3rdparty/MicroTeX/res/fonts/maths/rsfs10.ttf
vendored
Normal file
Binary file not shown.
BIN
3rdparty/MicroTeX/res/fonts/maths/special.ttf
vendored
Normal file
BIN
3rdparty/MicroTeX/res/fonts/maths/special.ttf
vendored
Normal file
Binary file not shown.
BIN
3rdparty/MicroTeX/res/fonts/maths/stmary10.ttf
vendored
Normal file
BIN
3rdparty/MicroTeX/res/fonts/maths/stmary10.ttf
vendored
Normal file
Binary file not shown.
674
3rdparty/MicroTeX/res/greek/LICENSE
vendored
Normal file
674
3rdparty/MicroTeX/res/greek/LICENSE
vendored
Normal file
@ -0,0 +1,674 @@
|
||||
GNU GENERAL PUBLIC LICENSE
|
||||
Version 3, 29 June 2007
|
||||
|
||||
Copyright (C) 2007 Free Software Foundation, Inc. <https://fsf.org/>
|
||||
Everyone is permitted to copy and distribute verbatim copies
|
||||
of this license document, but changing it is not allowed.
|
||||
|
||||
Preamble
|
||||
|
||||
The GNU General Public License is a free, copyleft license for
|
||||
software and other kinds of works.
|
||||
|
||||
The licenses for most software and other practical works are designed
|
||||
to take away your freedom to share and change the works. By contrast,
|
||||
the GNU General Public License is intended to guarantee your freedom to
|
||||
share and change all versions of a program--to make sure it remains free
|
||||
software for all its users. We, the Free Software Foundation, use the
|
||||
GNU General Public License for most of our software; it applies also to
|
||||
any other work released this way by its authors. You can apply it to
|
||||
your programs, too.
|
||||
|
||||
When we speak of free software, we are referring to freedom, not
|
||||
price. Our General Public Licenses are designed to make sure that you
|
||||
have the freedom to distribute copies of free software (and charge for
|
||||
them if you wish), that you receive source code or can get it if you
|
||||
want it, that you can change the software or use pieces of it in new
|
||||
free programs, and that you know you can do these things.
|
||||
|
||||
To protect your rights, we need to prevent others from denying you
|
||||
these rights or asking you to surrender the rights. Therefore, you have
|
||||
certain responsibilities if you distribute copies of the software, or if
|
||||
you modify it: responsibilities to respect the freedom of others.
|
||||
|
||||
For example, if you distribute copies of such a program, whether
|
||||
gratis or for a fee, you must pass on to the recipients the same
|
||||
freedoms that you received. You must make sure that they, too, receive
|
||||
or can get the source code. And you must show them these terms so they
|
||||
know their rights.
|
||||
|
||||
Developers that use the GNU GPL protect your rights with two steps:
|
||||
(1) assert copyright on the software, and (2) offer you this License
|
||||
giving you legal permission to copy, distribute and/or modify it.
|
||||
|
||||
For the developers' and authors' protection, the GPL clearly explains
|
||||
that there is no warranty for this free software. For both users' and
|
||||
authors' sake, the GPL requires that modified versions be marked as
|
||||
changed, so that their problems will not be attributed erroneously to
|
||||
authors of previous versions.
|
||||
|
||||
Some devices are designed to deny users access to install or run
|
||||
modified versions of the software inside them, although the manufacturer
|
||||
can do so. This is fundamentally incompatible with the aim of
|
||||
protecting users' freedom to change the software. The systematic
|
||||
pattern of such abuse occurs in the area of products for individuals to
|
||||
use, which is precisely where it is most unacceptable. Therefore, we
|
||||
have designed this version of the GPL to prohibit the practice for those
|
||||
products. If such problems arise substantially in other domains, we
|
||||
stand ready to extend this provision to those domains in future versions
|
||||
of the GPL, as needed to protect the freedom of users.
|
||||
|
||||
Finally, every program is threatened constantly by software patents.
|
||||
States should not allow patents to restrict development and use of
|
||||
software on general-purpose computers, but in those that do, we wish to
|
||||
avoid the special danger that patents applied to a free program could
|
||||
make it effectively proprietary. To prevent this, the GPL assures that
|
||||
patents cannot be used to render the program non-free.
|
||||
|
||||
The precise terms and conditions for copying, distribution and
|
||||
modification follow.
|
||||
|
||||
TERMS AND CONDITIONS
|
||||
|
||||
0. Definitions.
|
||||
|
||||
"This License" refers to version 3 of the GNU General Public License.
|
||||
|
||||
"Copyright" also means copyright-like laws that apply to other kinds of
|
||||
works, such as semiconductor masks.
|
||||
|
||||
"The Program" refers to any copyrightable work licensed under this
|
||||
License. Each licensee is addressed as "you". "Licensees" and
|
||||
"recipients" may be individuals or organizations.
|
||||
|
||||
To "modify" a work means to copy from or adapt all or part of the work
|
||||
in a fashion requiring copyright permission, other than the making of an
|
||||
exact copy. The resulting work is called a "modified version" of the
|
||||
earlier work or a work "based on" the earlier work.
|
||||
|
||||
A "covered work" means either the unmodified Program or a work based
|
||||
on the Program.
|
||||
|
||||
To "propagate" a work means to do anything with it that, without
|
||||
permission, would make you directly or secondarily liable for
|
||||
infringement under applicable copyright law, except executing it on a
|
||||
computer or modifying a private copy. Propagation includes copying,
|
||||
distribution (with or without modification), making available to the
|
||||
public, and in some countries other activities as well.
|
||||
|
||||
To "convey" a work means any kind of propagation that enables other
|
||||
parties to make or receive copies. Mere interaction with a user through
|
||||
a computer network, with no transfer of a copy, is not conveying.
|
||||
|
||||
An interactive user interface displays "Appropriate Legal Notices"
|
||||
to the extent that it includes a convenient and prominently visible
|
||||
feature that (1) displays an appropriate copyright notice, and (2)
|
||||
tells the user that there is no warranty for the work (except to the
|
||||
extent that warranties are provided), that licensees may convey the
|
||||
work under this License, and how to view a copy of this License. If
|
||||
the interface presents a list of user commands or options, such as a
|
||||
menu, a prominent item in the list meets this criterion.
|
||||
|
||||
1. Source Code.
|
||||
|
||||
The "source code" for a work means the preferred form of the work
|
||||
for making modifications to it. "Object code" means any non-source
|
||||
form of a work.
|
||||
|
||||
A "Standard Interface" means an interface that either is an official
|
||||
standard defined by a recognized standards body, or, in the case of
|
||||
interfaces specified for a particular programming language, one that
|
||||
is widely used among developers working in that language.
|
||||
|
||||
The "System Libraries" of an executable work include anything, other
|
||||
than the work as a whole, that (a) is included in the normal form of
|
||||
packaging a Major Component, but which is not part of that Major
|
||||
Component, and (b) serves only to enable use of the work with that
|
||||
Major Component, or to implement a Standard Interface for which an
|
||||
implementation is available to the public in source code form. A
|
||||
"Major Component", in this context, means a major essential component
|
||||
(kernel, window system, and so on) of the specific operating system
|
||||
(if any) on which the executable work runs, or a compiler used to
|
||||
produce the work, or an object code interpreter used to run it.
|
||||
|
||||
The "Corresponding Source" for a work in object code form means all
|
||||
the source code needed to generate, install, and (for an executable
|
||||
work) run the object code and to modify the work, including scripts to
|
||||
control those activities. However, it does not include the work's
|
||||
System Libraries, or general-purpose tools or generally available free
|
||||
programs which are used unmodified in performing those activities but
|
||||
which are not part of the work. For example, Corresponding Source
|
||||
includes interface definition files associated with source files for
|
||||
the work, and the source code for shared libraries and dynamically
|
||||
linked subprograms that the work is specifically designed to require,
|
||||
such as by intimate data communication or control flow between those
|
||||
subprograms and other parts of the work.
|
||||
|
||||
The Corresponding Source need not include anything that users
|
||||
can regenerate automatically from other parts of the Corresponding
|
||||
Source.
|
||||
|
||||
The Corresponding Source for a work in source code form is that
|
||||
same work.
|
||||
|
||||
2. Basic Permissions.
|
||||
|
||||
All rights granted under this License are granted for the term of
|
||||
copyright on the Program, and are irrevocable provided the stated
|
||||
conditions are met. This License explicitly affirms your unlimited
|
||||
permission to run the unmodified Program. The output from running a
|
||||
covered work is covered by this License only if the output, given its
|
||||
content, constitutes a covered work. This License acknowledges your
|
||||
rights of fair use or other equivalent, as provided by copyright law.
|
||||
|
||||
You may make, run and propagate covered works that you do not
|
||||
convey, without conditions so long as your license otherwise remains
|
||||
in force. You may convey covered works to others for the sole purpose
|
||||
of having them make modifications exclusively for you, or provide you
|
||||
with facilities for running those works, provided that you comply with
|
||||
the terms of this License in conveying all material for which you do
|
||||
not control copyright. Those thus making or running the covered works
|
||||
for you must do so exclusively on your behalf, under your direction
|
||||
and control, on terms that prohibit them from making any copies of
|
||||
your copyrighted material outside their relationship with you.
|
||||
|
||||
Conveying under any other circumstances is permitted solely under
|
||||
the conditions stated below. Sublicensing is not allowed; section 10
|
||||
makes it unnecessary.
|
||||
|
||||
3. Protecting Users' Legal Rights From Anti-Circumvention Law.
|
||||
|
||||
No covered work shall be deemed part of an effective technological
|
||||
measure under any applicable law fulfilling obligations under article
|
||||
11 of the WIPO copyright treaty adopted on 20 December 1996, or
|
||||
similar laws prohibiting or restricting circumvention of such
|
||||
measures.
|
||||
|
||||
When you convey a covered work, you waive any legal power to forbid
|
||||
circumvention of technological measures to the extent such circumvention
|
||||
is effected by exercising rights under this License with respect to
|
||||
the covered work, and you disclaim any intention to limit operation or
|
||||
modification of the work as a means of enforcing, against the work's
|
||||
users, your or third parties' legal rights to forbid circumvention of
|
||||
technological measures.
|
||||
|
||||
4. Conveying Verbatim Copies.
|
||||
|
||||
You may convey verbatim copies of the Program's source code as you
|
||||
receive it, in any medium, provided that you conspicuously and
|
||||
appropriately publish on each copy an appropriate copyright notice;
|
||||
keep intact all notices stating that this License and any
|
||||
non-permissive terms added in accord with section 7 apply to the code;
|
||||
keep intact all notices of the absence of any warranty; and give all
|
||||
recipients a copy of this License along with the Program.
|
||||
|
||||
You may charge any price or no price for each copy that you convey,
|
||||
and you may offer support or warranty protection for a fee.
|
||||
|
||||
5. Conveying Modified Source Versions.
|
||||
|
||||
You may convey a work based on the Program, or the modifications to
|
||||
produce it from the Program, in the form of source code under the
|
||||
terms of section 4, provided that you also meet all of these conditions:
|
||||
|
||||
a) The work must carry prominent notices stating that you modified
|
||||
it, and giving a relevant date.
|
||||
|
||||
b) The work must carry prominent notices stating that it is
|
||||
released under this License and any conditions added under section
|
||||
7. This requirement modifies the requirement in section 4 to
|
||||
"keep intact all notices".
|
||||
|
||||
c) You must license the entire work, as a whole, under this
|
||||
License to anyone who comes into possession of a copy. This
|
||||
License will therefore apply, along with any applicable section 7
|
||||
additional terms, to the whole of the work, and all its parts,
|
||||
regardless of how they are packaged. This License gives no
|
||||
permission to license the work in any other way, but it does not
|
||||
invalidate such permission if you have separately received it.
|
||||
|
||||
d) If the work has interactive user interfaces, each must display
|
||||
Appropriate Legal Notices; however, if the Program has interactive
|
||||
interfaces that do not display Appropriate Legal Notices, your
|
||||
work need not make them do so.
|
||||
|
||||
A compilation of a covered work with other separate and independent
|
||||
works, which are not by their nature extensions of the covered work,
|
||||
and which are not combined with it such as to form a larger program,
|
||||
in or on a volume of a storage or distribution medium, is called an
|
||||
"aggregate" if the compilation and its resulting copyright are not
|
||||
used to limit the access or legal rights of the compilation's users
|
||||
beyond what the individual works permit. Inclusion of a covered work
|
||||
in an aggregate does not cause this License to apply to the other
|
||||
parts of the aggregate.
|
||||
|
||||
6. Conveying Non-Source Forms.
|
||||
|
||||
You may convey a covered work in object code form under the terms
|
||||
of sections 4 and 5, provided that you also convey the
|
||||
machine-readable Corresponding Source under the terms of this License,
|
||||
in one of these ways:
|
||||
|
||||
a) Convey the object code in, or embodied in, a physical product
|
||||
(including a physical distribution medium), accompanied by the
|
||||
Corresponding Source fixed on a durable physical medium
|
||||
customarily used for software interchange.
|
||||
|
||||
b) Convey the object code in, or embodied in, a physical product
|
||||
(including a physical distribution medium), accompanied by a
|
||||
written offer, valid for at least three years and valid for as
|
||||
long as you offer spare parts or customer support for that product
|
||||
model, to give anyone who possesses the object code either (1) a
|
||||
copy of the Corresponding Source for all the software in the
|
||||
product that is covered by this License, on a durable physical
|
||||
medium customarily used for software interchange, for a price no
|
||||
more than your reasonable cost of physically performing this
|
||||
conveying of source, or (2) access to copy the
|
||||
Corresponding Source from a network server at no charge.
|
||||
|
||||
c) Convey individual copies of the object code with a copy of the
|
||||
written offer to provide the Corresponding Source. This
|
||||
alternative is allowed only occasionally and noncommercially, and
|
||||
only if you received the object code with such an offer, in accord
|
||||
with subsection 6b.
|
||||
|
||||
d) Convey the object code by offering access from a designated
|
||||
place (gratis or for a charge), and offer equivalent access to the
|
||||
Corresponding Source in the same way through the same place at no
|
||||
further charge. You need not require recipients to copy the
|
||||
Corresponding Source along with the object code. If the place to
|
||||
copy the object code is a network server, the Corresponding Source
|
||||
may be on a different server (operated by you or a third party)
|
||||
that supports equivalent copying facilities, provided you maintain
|
||||
clear directions next to the object code saying where to find the
|
||||
Corresponding Source. Regardless of what server hosts the
|
||||
Corresponding Source, you remain obligated to ensure that it is
|
||||
available for as long as needed to satisfy these requirements.
|
||||
|
||||
e) Convey the object code using peer-to-peer transmission, provided
|
||||
you inform other peers where the object code and Corresponding
|
||||
Source of the work are being offered to the general public at no
|
||||
charge under subsection 6d.
|
||||
|
||||
A separable portion of the object code, whose source code is excluded
|
||||
from the Corresponding Source as a System Library, need not be
|
||||
included in conveying the object code work.
|
||||
|
||||
A "User Product" is either (1) a "consumer product", which means any
|
||||
tangible personal property which is normally used for personal, family,
|
||||
or household purposes, or (2) anything designed or sold for incorporation
|
||||
into a dwelling. In determining whether a product is a consumer product,
|
||||
doubtful cases shall be resolved in favor of coverage. For a particular
|
||||
product received by a particular user, "normally used" refers to a
|
||||
typical or common use of that class of product, regardless of the status
|
||||
of the particular user or of the way in which the particular user
|
||||
actually uses, or expects or is expected to use, the product. A product
|
||||
is a consumer product regardless of whether the product has substantial
|
||||
commercial, industrial or non-consumer uses, unless such uses represent
|
||||
the only significant mode of use of the product.
|
||||
|
||||
"Installation Information" for a User Product means any methods,
|
||||
procedures, authorization keys, or other information required to install
|
||||
and execute modified versions of a covered work in that User Product from
|
||||
a modified version of its Corresponding Source. The information must
|
||||
suffice to ensure that the continued functioning of the modified object
|
||||
code is in no case prevented or interfered with solely because
|
||||
modification has been made.
|
||||
|
||||
If you convey an object code work under this section in, or with, or
|
||||
specifically for use in, a User Product, and the conveying occurs as
|
||||
part of a transaction in which the right of possession and use of the
|
||||
User Product is transferred to the recipient in perpetuity or for a
|
||||
fixed term (regardless of how the transaction is characterized), the
|
||||
Corresponding Source conveyed under this section must be accompanied
|
||||
by the Installation Information. But this requirement does not apply
|
||||
if neither you nor any third party retains the ability to install
|
||||
modified object code on the User Product (for example, the work has
|
||||
been installed in ROM).
|
||||
|
||||
The requirement to provide Installation Information does not include a
|
||||
requirement to continue to provide support service, warranty, or updates
|
||||
for a work that has been modified or installed by the recipient, or for
|
||||
the User Product in which it has been modified or installed. Access to a
|
||||
network may be denied when the modification itself materially and
|
||||
adversely affects the operation of the network or violates the rules and
|
||||
protocols for communication across the network.
|
||||
|
||||
Corresponding Source conveyed, and Installation Information provided,
|
||||
in accord with this section must be in a format that is publicly
|
||||
documented (and with an implementation available to the public in
|
||||
source code form), and must require no special password or key for
|
||||
unpacking, reading or copying.
|
||||
|
||||
7. Additional Terms.
|
||||
|
||||
"Additional permissions" are terms that supplement the terms of this
|
||||
License by making exceptions from one or more of its conditions.
|
||||
Additional permissions that are applicable to the entire Program shall
|
||||
be treated as though they were included in this License, to the extent
|
||||
that they are valid under applicable law. If additional permissions
|
||||
apply only to part of the Program, that part may be used separately
|
||||
under those permissions, but the entire Program remains governed by
|
||||
this License without regard to the additional permissions.
|
||||
|
||||
When you convey a copy of a covered work, you may at your option
|
||||
remove any additional permissions from that copy, or from any part of
|
||||
it. (Additional permissions may be written to require their own
|
||||
removal in certain cases when you modify the work.) You may place
|
||||
additional permissions on material, added by you to a covered work,
|
||||
for which you have or can give appropriate copyright permission.
|
||||
|
||||
Notwithstanding any other provision of this License, for material you
|
||||
add to a covered work, you may (if authorized by the copyright holders of
|
||||
that material) supplement the terms of this License with terms:
|
||||
|
||||
a) Disclaiming warranty or limiting liability differently from the
|
||||
terms of sections 15 and 16 of this License; or
|
||||
|
||||
b) Requiring preservation of specified reasonable legal notices or
|
||||
author attributions in that material or in the Appropriate Legal
|
||||
Notices displayed by works containing it; or
|
||||
|
||||
c) Prohibiting misrepresentation of the origin of that material, or
|
||||
requiring that modified versions of such material be marked in
|
||||
reasonable ways as different from the original version; or
|
||||
|
||||
d) Limiting the use for publicity purposes of names of licensors or
|
||||
authors of the material; or
|
||||
|
||||
e) Declining to grant rights under trademark law for use of some
|
||||
trade names, trademarks, or service marks; or
|
||||
|
||||
f) Requiring indemnification of licensors and authors of that
|
||||
material by anyone who conveys the material (or modified versions of
|
||||
it) with contractual assumptions of liability to the recipient, for
|
||||
any liability that these contractual assumptions directly impose on
|
||||
those licensors and authors.
|
||||
|
||||
All other non-permissive additional terms are considered "further
|
||||
restrictions" within the meaning of section 10. If the Program as you
|
||||
received it, or any part of it, contains a notice stating that it is
|
||||
governed by this License along with a term that is a further
|
||||
restriction, you may remove that term. If a license document contains
|
||||
a further restriction but permits relicensing or conveying under this
|
||||
License, you may add to a covered work material governed by the terms
|
||||
of that license document, provided that the further restriction does
|
||||
not survive such relicensing or conveying.
|
||||
|
||||
If you add terms to a covered work in accord with this section, you
|
||||
must place, in the relevant source files, a statement of the
|
||||
additional terms that apply to those files, or a notice indicating
|
||||
where to find the applicable terms.
|
||||
|
||||
Additional terms, permissive or non-permissive, may be stated in the
|
||||
form of a separately written license, or stated as exceptions;
|
||||
the above requirements apply either way.
|
||||
|
||||
8. Termination.
|
||||
|
||||
You may not propagate or modify a covered work except as expressly
|
||||
provided under this License. Any attempt otherwise to propagate or
|
||||
modify it is void, and will automatically terminate your rights under
|
||||
this License (including any patent licenses granted under the third
|
||||
paragraph of section 11).
|
||||
|
||||
However, if you cease all violation of this License, then your
|
||||
license from a particular copyright holder is reinstated (a)
|
||||
provisionally, unless and until the copyright holder explicitly and
|
||||
finally terminates your license, and (b) permanently, if the copyright
|
||||
holder fails to notify you of the violation by some reasonable means
|
||||
prior to 60 days after the cessation.
|
||||
|
||||
Moreover, your license from a particular copyright holder is
|
||||
reinstated permanently if the copyright holder notifies you of the
|
||||
violation by some reasonable means, this is the first time you have
|
||||
received notice of violation of this License (for any work) from that
|
||||
copyright holder, and you cure the violation prior to 30 days after
|
||||
your receipt of the notice.
|
||||
|
||||
Termination of your rights under this section does not terminate the
|
||||
licenses of parties who have received copies or rights from you under
|
||||
this License. If your rights have been terminated and not permanently
|
||||
reinstated, you do not qualify to receive new licenses for the same
|
||||
material under section 10.
|
||||
|
||||
9. Acceptance Not Required for Having Copies.
|
||||
|
||||
You are not required to accept this License in order to receive or
|
||||
run a copy of the Program. Ancillary propagation of a covered work
|
||||
occurring solely as a consequence of using peer-to-peer transmission
|
||||
to receive a copy likewise does not require acceptance. However,
|
||||
nothing other than this License grants you permission to propagate or
|
||||
modify any covered work. These actions infringe copyright if you do
|
||||
not accept this License. Therefore, by modifying or propagating a
|
||||
covered work, you indicate your acceptance of this License to do so.
|
||||
|
||||
10. Automatic Licensing of Downstream Recipients.
|
||||
|
||||
Each time you convey a covered work, the recipient automatically
|
||||
receives a license from the original licensors, to run, modify and
|
||||
propagate that work, subject to this License. You are not responsible
|
||||
for enforcing compliance by third parties with this License.
|
||||
|
||||
An "entity transaction" is a transaction transferring control of an
|
||||
organization, or substantially all assets of one, or subdividing an
|
||||
organization, or merging organizations. If propagation of a covered
|
||||
work results from an entity transaction, each party to that
|
||||
transaction who receives a copy of the work also receives whatever
|
||||
licenses to the work the party's predecessor in interest had or could
|
||||
give under the previous paragraph, plus a right to possession of the
|
||||
Corresponding Source of the work from the predecessor in interest, if
|
||||
the predecessor has it or can get it with reasonable efforts.
|
||||
|
||||
You may not impose any further restrictions on the exercise of the
|
||||
rights granted or affirmed under this License. For example, you may
|
||||
not impose a license fee, royalty, or other charge for exercise of
|
||||
rights granted under this License, and you may not initiate litigation
|
||||
(including a cross-claim or counterclaim in a lawsuit) alleging that
|
||||
any patent claim is infringed by making, using, selling, offering for
|
||||
sale, or importing the Program or any portion of it.
|
||||
|
||||
11. Patents.
|
||||
|
||||
A "contributor" is a copyright holder who authorizes use under this
|
||||
License of the Program or a work on which the Program is based. The
|
||||
work thus licensed is called the contributor's "contributor version".
|
||||
|
||||
A contributor's "essential patent claims" are all patent claims
|
||||
owned or controlled by the contributor, whether already acquired or
|
||||
hereafter acquired, that would be infringed by some manner, permitted
|
||||
by this License, of making, using, or selling its contributor version,
|
||||
but do not include claims that would be infringed only as a
|
||||
consequence of further modification of the contributor version. For
|
||||
purposes of this definition, "control" includes the right to grant
|
||||
patent sublicenses in a manner consistent with the requirements of
|
||||
this License.
|
||||
|
||||
Each contributor grants you a non-exclusive, worldwide, royalty-free
|
||||
patent license under the contributor's essential patent claims, to
|
||||
make, use, sell, offer for sale, import and otherwise run, modify and
|
||||
propagate the contents of its contributor version.
|
||||
|
||||
In the following three paragraphs, a "patent license" is any express
|
||||
agreement or commitment, however denominated, not to enforce a patent
|
||||
(such as an express permission to practice a patent or covenant not to
|
||||
sue for patent infringement). To "grant" such a patent license to a
|
||||
party means to make such an agreement or commitment not to enforce a
|
||||
patent against the party.
|
||||
|
||||
If you convey a covered work, knowingly relying on a patent license,
|
||||
and the Corresponding Source of the work is not available for anyone
|
||||
to copy, free of charge and under the terms of this License, through a
|
||||
publicly available network server or other readily accessible means,
|
||||
then you must either (1) cause the Corresponding Source to be so
|
||||
available, or (2) arrange to deprive yourself of the benefit of the
|
||||
patent license for this particular work, or (3) arrange, in a manner
|
||||
consistent with the requirements of this License, to extend the patent
|
||||
license to downstream recipients. "Knowingly relying" means you have
|
||||
actual knowledge that, but for the patent license, your conveying the
|
||||
covered work in a country, or your recipient's use of the covered work
|
||||
in a country, would infringe one or more identifiable patents in that
|
||||
country that you have reason to believe are valid.
|
||||
|
||||
If, pursuant to or in connection with a single transaction or
|
||||
arrangement, you convey, or propagate by procuring conveyance of, a
|
||||
covered work, and grant a patent license to some of the parties
|
||||
receiving the covered work authorizing them to use, propagate, modify
|
||||
or convey a specific copy of the covered work, then the patent license
|
||||
you grant is automatically extended to all recipients of the covered
|
||||
work and works based on it.
|
||||
|
||||
A patent license is "discriminatory" if it does not include within
|
||||
the scope of its coverage, prohibits the exercise of, or is
|
||||
conditioned on the non-exercise of one or more of the rights that are
|
||||
specifically granted under this License. You may not convey a covered
|
||||
work if you are a party to an arrangement with a third party that is
|
||||
in the business of distributing software, under which you make payment
|
||||
to the third party based on the extent of your activity of conveying
|
||||
the work, and under which the third party grants, to any of the
|
||||
parties who would receive the covered work from you, a discriminatory
|
||||
patent license (a) in connection with copies of the covered work
|
||||
conveyed by you (or copies made from those copies), or (b) primarily
|
||||
for and in connection with specific products or compilations that
|
||||
contain the covered work, unless you entered into that arrangement,
|
||||
or that patent license was granted, prior to 28 March 2007.
|
||||
|
||||
Nothing in this License shall be construed as excluding or limiting
|
||||
any implied license or other defenses to infringement that may
|
||||
otherwise be available to you under applicable patent law.
|
||||
|
||||
12. No Surrender of Others' Freedom.
|
||||
|
||||
If conditions are imposed on you (whether by court order, agreement or
|
||||
otherwise) that contradict the conditions of this License, they do not
|
||||
excuse you from the conditions of this License. If you cannot convey a
|
||||
covered work so as to satisfy simultaneously your obligations under this
|
||||
License and any other pertinent obligations, then as a consequence you may
|
||||
not convey it at all. For example, if you agree to terms that obligate you
|
||||
to collect a royalty for further conveying from those to whom you convey
|
||||
the Program, the only way you could satisfy both those terms and this
|
||||
License would be to refrain entirely from conveying the Program.
|
||||
|
||||
13. Use with the GNU Affero General Public License.
|
||||
|
||||
Notwithstanding any other provision of this License, you have
|
||||
permission to link or combine any covered work with a work licensed
|
||||
under version 3 of the GNU Affero General Public License into a single
|
||||
combined work, and to convey the resulting work. The terms of this
|
||||
License will continue to apply to the part which is the covered work,
|
||||
but the special requirements of the GNU Affero General Public License,
|
||||
section 13, concerning interaction through a network will apply to the
|
||||
combination as such.
|
||||
|
||||
14. Revised Versions of this License.
|
||||
|
||||
The Free Software Foundation may publish revised and/or new versions of
|
||||
the GNU General Public License from time to time. Such new versions will
|
||||
be similar in spirit to the present version, but may differ in detail to
|
||||
address new problems or concerns.
|
||||
|
||||
Each version is given a distinguishing version number. If the
|
||||
Program specifies that a certain numbered version of the GNU General
|
||||
Public License "or any later version" applies to it, you have the
|
||||
option of following the terms and conditions either of that numbered
|
||||
version or of any later version published by the Free Software
|
||||
Foundation. If the Program does not specify a version number of the
|
||||
GNU General Public License, you may choose any version ever published
|
||||
by the Free Software Foundation.
|
||||
|
||||
If the Program specifies that a proxy can decide which future
|
||||
versions of the GNU General Public License can be used, that proxy's
|
||||
public statement of acceptance of a version permanently authorizes you
|
||||
to choose that version for the Program.
|
||||
|
||||
Later license versions may give you additional or different
|
||||
permissions. However, no additional obligations are imposed on any
|
||||
author or copyright holder as a result of your choosing to follow a
|
||||
later version.
|
||||
|
||||
15. Disclaimer of Warranty.
|
||||
|
||||
THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
|
||||
APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
|
||||
HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
|
||||
OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
|
||||
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
||||
PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
|
||||
IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
|
||||
ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
|
||||
|
||||
16. Limitation of Liability.
|
||||
|
||||
IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
|
||||
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
|
||||
THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
|
||||
GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
|
||||
USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
|
||||
DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
|
||||
PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
|
||||
EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
|
||||
SUCH DAMAGES.
|
||||
|
||||
17. Interpretation of Sections 15 and 16.
|
||||
|
||||
If the disclaimer of warranty and limitation of liability provided
|
||||
above cannot be given local legal effect according to their terms,
|
||||
reviewing courts shall apply local law that most closely approximates
|
||||
an absolute waiver of all civil liability in connection with the
|
||||
Program, unless a warranty or assumption of liability accompanies a
|
||||
copy of the Program in return for a fee.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
How to Apply These Terms to Your New Programs
|
||||
|
||||
If you develop a new program, and you want it to be of the greatest
|
||||
possible use to the public, the best way to achieve this is to make it
|
||||
free software which everyone can redistribute and change under these terms.
|
||||
|
||||
To do so, attach the following notices to the program. It is safest
|
||||
to attach them to the start of each source file to most effectively
|
||||
state the exclusion of warranty; and each file should have at least
|
||||
the "copyright" line and a pointer to where the full notice is found.
|
||||
|
||||
<one line to give the program's name and a brief idea of what it does.>
|
||||
Copyright (C) <year> <name of author>
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
|
||||
Also add information on how to contact you by electronic and paper mail.
|
||||
|
||||
If the program does terminal interaction, make it output a short
|
||||
notice like this when it starts in an interactive mode:
|
||||
|
||||
<program> Copyright (C) <year> <name of author>
|
||||
This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
|
||||
This is free software, and you are welcome to redistribute it
|
||||
under certain conditions; type `show c' for details.
|
||||
|
||||
The hypothetical commands `show w' and `show c' should show the appropriate
|
||||
parts of the General Public License. Of course, your program's commands
|
||||
might be different; for a GUI interface, you would use an "about box".
|
||||
|
||||
You should also get your employer (if you work as a programmer) or school,
|
||||
if any, to sign a "copyright disclaimer" for the program, if necessary.
|
||||
For more information on this, and how to apply and follow the GNU GPL, see
|
||||
<https://www.gnu.org/licenses/>.
|
||||
|
||||
The GNU General Public License does not permit incorporating your program
|
||||
into proprietary programs. If your program is a subroutine library, you
|
||||
may consider it more useful to permit linking proprietary applications with
|
||||
the library. If this is what you want to do, use the GNU Lesser General
|
||||
Public License instead of this License. But first, please read
|
||||
<https://www.gnu.org/licenses/why-not-lgpl.html>.
|
||||
BIN
3rdparty/MicroTeX/res/greek/fcmbipg.ttf
vendored
Normal file
BIN
3rdparty/MicroTeX/res/greek/fcmbipg.ttf
vendored
Normal file
Binary file not shown.
2183
3rdparty/MicroTeX/res/greek/fcmbipg.xml
vendored
Normal file
2183
3rdparty/MicroTeX/res/greek/fcmbipg.xml
vendored
Normal file
File diff suppressed because it is too large
Load Diff
BIN
3rdparty/MicroTeX/res/greek/fcmbpg.ttf
vendored
Normal file
BIN
3rdparty/MicroTeX/res/greek/fcmbpg.ttf
vendored
Normal file
Binary file not shown.
566
3rdparty/MicroTeX/res/greek/fcmbpg.xml
vendored
Normal file
566
3rdparty/MicroTeX/res/greek/fcmbpg.xml
vendored
Normal file
@ -0,0 +1,566 @@
|
||||
<?xml version='1.0'?>
|
||||
<Font name="fcmbpg.ttf" id="fcmbpg" space="0.319" xHeight="0.451" quad="1" unicode="205" itVersion="fcmbipg" ssVersion="fcsbpg" ttVersion="fctrpg">
|
||||
<Char code="32" width="0.319" height="0.0" />
|
||||
<Char code="168" width="0.255" height="0.645" italic="0.061" />
|
||||
<Char code="884" width="0.224" height="0.712" />
|
||||
<Char code="885" width="0.224" height="0.007" depth="0.216" />
|
||||
<Char code="890" width="0.128" height="-0.053" depth="0.241" />
|
||||
<Char code="900" width="0.192" height="0.712" >
|
||||
<Kern code="913" val="-0.128"/>
|
||||
<Kern code="927" val="-0.064"/>
|
||||
<Kern code="937" val="-0.032"/>
|
||||
<Kern code="8124" val="-0.128"/>
|
||||
<Kern code="8188" val="-0.032"/>
|
||||
</Char>
|
||||
<Char code="901" width="0.319" height="0.711" italic="0.031" />
|
||||
<Char code="903" width="0.319" height="0.445" />
|
||||
<Char code="912" width="0.287" height="0.711" depth="0.007" italic="0.028" >
|
||||
<Kern code="947" val="-0.032"/>
|
||||
<Kern code="951" val="-0.019"/>
|
||||
<Kern code="952" val="-0.019"/>
|
||||
<Kern code="957" val="-0.064"/>
|
||||
<Kern code="959" val="-0.032"/>
|
||||
<Kern code="962" val="-0.032"/>
|
||||
<Kern code="963" val="-0.032"/>
|
||||
<Kern code="964" val="-0.032"/>
|
||||
<Kern code="967" val="-0.032"/>
|
||||
<Kern code="977" val="-0.019"/>
|
||||
</Char>
|
||||
<Char code="913" width="0.869" height="0.7" >
|
||||
<Kern code="920" val="-0.096"/>
|
||||
<Kern code="927" val="-0.096"/>
|
||||
<Kern code="932" val="-0.096"/>
|
||||
<Kern code="933" val="-0.16"/>
|
||||
<Kern code="934" val="-0.096"/>
|
||||
<Kern code="936" val="-0.141"/>
|
||||
<Kern code="939" val="-0.16"/>
|
||||
</Char>
|
||||
<Char code="914" width="0.818" height="0.688" />
|
||||
<Char code="915" width="0.691" height="0.681" >
|
||||
<Kern code="913" val="-0.153"/>
|
||||
<Kern code="916" val="-0.128"/>
|
||||
<Kern code="923" val="-0.141"/>
|
||||
<Kern code="8124" val="-0.153"/>
|
||||
</Char>
|
||||
<Char code="916" width="0.958" height="0.699" >
|
||||
<Kern code="927" val="-0.038"/>
|
||||
<Kern code="933" val="-0.16"/>
|
||||
<Kern code="939" val="-0.16"/>
|
||||
</Char>
|
||||
<Char code="917" width="0.755" height="0.681" />
|
||||
<Char code="918" width="0.703" height="0.687" />
|
||||
<Char code="919" width="0.9" height="0.687" />
|
||||
<Char code="920" width="0.894" height="0.699" depth="0.011" >
|
||||
<Kern code="913" val="-0.096"/>
|
||||
<Kern code="8124" val="-0.096"/>
|
||||
</Char>
|
||||
<Char code="921" width="0.436" height="0.687" />
|
||||
<Char code="922" width="0.901" height="0.687" >
|
||||
<Kern code="927" val="-0.096"/>
|
||||
</Char>
|
||||
<Char code="923" width="0.805" height="0.7" >
|
||||
<Kern code="927" val="-0.038"/>
|
||||
<Kern code="933" val="-0.115"/>
|
||||
<Kern code="939" val="-0.115"/>
|
||||
</Char>
|
||||
<Char code="924" width="1.091" height="0.688" />
|
||||
<Char code="925" width="0.9" height="0.687" >
|
||||
<Kern code="913" val="-0.096"/>
|
||||
<Kern code="8124" val="-0.096"/>
|
||||
</Char>
|
||||
<Char code="926" width="0.766" height="0.676" />
|
||||
<Char code="927" width="0.864" height="0.699" depth="0.011" >
|
||||
<Kern code="913" val="-0.096"/>
|
||||
<Kern code="931" val="-0.064"/>
|
||||
<Kern code="8124" val="-0.096"/>
|
||||
</Char>
|
||||
<Char code="928" width="0.9" height="0.681" />
|
||||
<Char code="929" width="0.786" height="0.688" >
|
||||
<Kern code="913" val="-0.192"/>
|
||||
<Kern code="8124" val="-0.192"/>
|
||||
</Char>
|
||||
<Char code="931" width="0.83" height="0.687" >
|
||||
<Kern code="913" val="-0.032"/>
|
||||
<Kern code="8124" val="-0.032"/>
|
||||
</Char>
|
||||
<Char code="932" width="0.8" height="0.676" >
|
||||
<Kern code="913" val="-0.096"/>
|
||||
<Kern code="8124" val="-0.096"/>
|
||||
</Char>
|
||||
<Char code="933" width="0.894" height="0.699" >
|
||||
<Kern code="913" val="-0.16"/>
|
||||
<Kern code="916" val="-0.16"/>
|
||||
<Kern code="923" val="-0.16"/>
|
||||
<Kern code="8124" val="-0.16"/>
|
||||
</Char>
|
||||
<Char code="934" width="0.83" height="0.687" >
|
||||
<Kern code="913" val="-0.096"/>
|
||||
<Kern code="8124" val="-0.096"/>
|
||||
</Char>
|
||||
<Char code="935" width="0.869" height="0.687" />
|
||||
<Char code="936" width="0.894" height="0.687" >
|
||||
<Kern code="913" val="-0.141"/>
|
||||
<Kern code="8124" val="-0.141"/>
|
||||
</Char>
|
||||
<Char code="937" width="0.83" height="0.698" />
|
||||
<Char code="938" width="0.436" height="0.893" />
|
||||
<Char code="939" width="0.894" height="0.892" >
|
||||
<Kern code="913" val="-0.16"/>
|
||||
<Kern code="916" val="-0.16"/>
|
||||
<Kern code="923" val="-0.16"/>
|
||||
<Kern code="8124" val="-0.16"/>
|
||||
</Char>
|
||||
<Char code="940" width="0.575" height="0.711" depth="0.006" italic="0.029" />
|
||||
<Char code="941" width="0.495" height="0.711" depth="0.01" />
|
||||
<Char code="942" width="0.575" height="0.712" depth="0.26" />
|
||||
<Char code="943" width="0.287" height="0.711" depth="0.007" >
|
||||
<Kern code="947" val="-0.032"/>
|
||||
<Kern code="951" val="-0.019"/>
|
||||
<Kern code="952" val="-0.031"/>
|
||||
<Kern code="957" val="-0.064"/>
|
||||
<Kern code="959" val="-0.032"/>
|
||||
<Kern code="962" val="-0.032"/>
|
||||
<Kern code="963" val="-0.032"/>
|
||||
<Kern code="964" val="-0.032"/>
|
||||
<Kern code="967" val="-0.032"/>
|
||||
<Kern code="977" val="-0.019"/>
|
||||
</Char>
|
||||
<Char code="944" width="0.575" height="0.712" depth="0.006" />
|
||||
<Char code="945" width="0.575" height="0.452" depth="0.006" italic="0.029" />
|
||||
<Char code="946" width="0.575" height="0.701" depth="0.269" />
|
||||
<Char code="947" width="0.639" height="0.452" depth="0.2" />
|
||||
<Char code="948" width="0.543" height="0.704" depth="0.006" />
|
||||
<Char code="949" width="0.495" height="0.456" depth="0.01" />
|
||||
<Char code="950" width="0.543" height="0.707" depth="0.207" />
|
||||
<Char code="951" width="0.575" height="0.456" depth="0.26" />
|
||||
<Char code="952" width="0.519" height="0.706" depth="0.012" />
|
||||
<Char code="953" width="0.287" height="0.452" depth="0.007" >
|
||||
<Kern code="947" val="-0.032"/>
|
||||
<Kern code="951" val="-0.019"/>
|
||||
<Kern code="952" val="-0.031"/>
|
||||
<Kern code="957" val="-0.064"/>
|
||||
<Kern code="959" val="-0.032"/>
|
||||
<Kern code="962" val="-0.032"/>
|
||||
<Kern code="963" val="-0.032"/>
|
||||
<Kern code="964" val="-0.032"/>
|
||||
<Kern code="967" val="-0.032"/>
|
||||
<Kern code="977" val="-0.019"/>
|
||||
</Char>
|
||||
<Char code="954" width="0.607" height="0.457" depth="0.011" />
|
||||
<Char code="955" width="0.575" height="0.698" depth="0.005" />
|
||||
<Char code="956" width="0.622" height="0.457" depth="0.257" />
|
||||
<Char code="957" width="0.543" height="0.452" depth="0.005" />
|
||||
<Char code="958" width="0.543" height="0.707" depth="0.206" />
|
||||
<Char code="959" width="0.607" height="0.452" depth="0.006" >
|
||||
<Kern code="947" val="-0.032"/>
|
||||
<Kern code="955" val="-0.032"/>
|
||||
<Kern code="957" val="-0.026"/>
|
||||
<Kern code="964" val="-0.026"/>
|
||||
<Kern code="967" val="-0.032"/>
|
||||
</Char>
|
||||
<Char code="960" width="0.591" height="0.446" depth="0.021" />
|
||||
<Char code="961" width="0.543" height="0.452" depth="0.256" />
|
||||
<Char code="962" width="0.511" height="0.451" depth="0.125" />
|
||||
<Char code="963" width="0.655" height="0.446" depth="0.006" />
|
||||
<Char code="964" width="0.527" height="0.446" depth="0.006" >
|
||||
<Kern code="940" val="-0.032"/>
|
||||
<Kern code="945" val="-0.032"/>
|
||||
<Kern code="959" val="-0.032"/>
|
||||
<Kern code="969" val="-0.032"/>
|
||||
<Kern code="972" val="-0.032"/>
|
||||
<Kern code="974" val="-0.032"/>
|
||||
<Kern code="7936" val="-0.032"/>
|
||||
<Kern code="7937" val="-0.032"/>
|
||||
<Kern code="7940" val="-0.032"/>
|
||||
<Kern code="7941" val="-0.032"/>
|
||||
<Kern code="7942" val="-0.032"/>
|
||||
<Kern code="7943" val="-0.032"/>
|
||||
<Kern code="8000" val="-0.032"/>
|
||||
<Kern code="8001" val="-0.032"/>
|
||||
<Kern code="8004" val="-0.032"/>
|
||||
<Kern code="8005" val="-0.032"/>
|
||||
<Kern code="8032" val="-0.032"/>
|
||||
<Kern code="8033" val="-0.032"/>
|
||||
<Kern code="8036" val="-0.032"/>
|
||||
<Kern code="8037" val="-0.032"/>
|
||||
<Kern code="8038" val="-0.032"/>
|
||||
<Kern code="8039" val="-0.032"/>
|
||||
<Kern code="8048" val="-0.032"/>
|
||||
<Kern code="8056" val="-0.032"/>
|
||||
<Kern code="8060" val="-0.032"/>
|
||||
<Kern code="8064" val="-0.032"/>
|
||||
<Kern code="8065" val="-0.032"/>
|
||||
<Kern code="8068" val="-0.032"/>
|
||||
<Kern code="8069" val="-0.032"/>
|
||||
<Kern code="8070" val="-0.032"/>
|
||||
<Kern code="8071" val="-0.032"/>
|
||||
<Kern code="8096" val="-0.032"/>
|
||||
<Kern code="8097" val="-0.032"/>
|
||||
<Kern code="8100" val="-0.032"/>
|
||||
<Kern code="8101" val="-0.032"/>
|
||||
<Kern code="8102" val="-0.032"/>
|
||||
<Kern code="8103" val="-0.032"/>
|
||||
<Kern code="8114" val="-0.032"/>
|
||||
<Kern code="8116" val="-0.032"/>
|
||||
<Kern code="8118" val="-0.032"/>
|
||||
<Kern code="8119" val="-0.032"/>
|
||||
<Kern code="8178" val="-0.032"/>
|
||||
<Kern code="8180" val="-0.032"/>
|
||||
<Kern code="8182" val="-0.032"/>
|
||||
<Kern code="8183" val="-0.032"/>
|
||||
</Char>
|
||||
<Char code="965" width="0.575" height="0.468" depth="0.006" />
|
||||
<Char code="966" width="0.671" height="0.462" depth="0.268" />
|
||||
<Char code="967" width="0.639" height="0.452" depth="0.256" />
|
||||
<Char code="968" width="0.671" height="0.711" depth="0.268" />
|
||||
<Char code="969" width="0.766" height="0.457" depth="0.006" />
|
||||
<Char code="970" width="0.287" height="0.641" depth="0.007" italic="0.054" >
|
||||
<Kern code="947" val="-0.032"/>
|
||||
<Kern code="951" val="-0.019"/>
|
||||
<Kern code="952" val="-0.019"/>
|
||||
<Kern code="957" val="-0.064"/>
|
||||
<Kern code="959" val="-0.032"/>
|
||||
<Kern code="962" val="-0.032"/>
|
||||
<Kern code="963" val="-0.032"/>
|
||||
<Kern code="964" val="-0.032"/>
|
||||
<Kern code="967" val="-0.032"/>
|
||||
<Kern code="977" val="-0.019"/>
|
||||
</Char>
|
||||
<Char code="971" width="0.575" height="0.641" depth="0.006" />
|
||||
<Char code="972" width="0.607" height="0.711" depth="0.006" >
|
||||
<Kern code="947" val="-0.032"/>
|
||||
<Kern code="955" val="-0.032"/>
|
||||
<Kern code="957" val="-0.026"/>
|
||||
<Kern code="964" val="-0.026"/>
|
||||
<Kern code="967" val="-0.032"/>
|
||||
</Char>
|
||||
<Char code="973" width="0.575" height="0.712" depth="0.006" />
|
||||
<Char code="974" width="0.766" height="0.712" depth="0.006" />
|
||||
<Char code="977" width="0.655" height="0.701" depth="0.006" />
|
||||
<Char code="984" width="0.575" height="0.693" depth="0.003" />
|
||||
<Char code="985" width="0.575" height="0.64" depth="0.094" />
|
||||
<Char code="986" width="0.894" height="0.677" />
|
||||
<Char code="987" width="0.575" height="0.457" depth="0.024" />
|
||||
<Char code="988" width="0.723" height="0.681" />
|
||||
<Char code="989" width="0.575" height="0.446" depth="0.265" />
|
||||
<Char code="991" width="0.447" height="0.618" depth="0.144" />
|
||||
<Char code="992" width="0.881" height="0.706" />
|
||||
<Char code="993" width="0.83" height="0.696" depth="0.01" />
|
||||
<Char code="7936" width="0.575" height="0.696" depth="0.006" italic="0.029" />
|
||||
<Char code="7937" width="0.575" height="0.696" depth="0.006" italic="0.029" />
|
||||
<Char code="7938" width="0.575" height="0.711" depth="0.006" italic="0.029" />
|
||||
<Char code="7939" width="0.575" height="0.711" depth="0.006" italic="0.029" />
|
||||
<Char code="7940" width="0.575" height="0.711" depth="0.006" italic="0.029" />
|
||||
<Char code="7941" width="0.575" height="0.711" depth="0.006" italic="0.029" />
|
||||
<Char code="7942" width="0.575" height="0.696" depth="0.006" italic="0.029" />
|
||||
<Char code="7943" width="0.575" height="0.696" depth="0.006" italic="0.029" />
|
||||
<Char code="7952" width="0.495" height="0.696" depth="0.01" />
|
||||
<Char code="7953" width="0.495" height="0.696" depth="0.01" />
|
||||
<Char code="7954" width="0.495" height="0.711" depth="0.01" />
|
||||
<Char code="7955" width="0.495" height="0.711" depth="0.01" />
|
||||
<Char code="7956" width="0.495" height="0.711" depth="0.01" />
|
||||
<Char code="7957" width="0.495" height="0.711" depth="0.01" />
|
||||
<Char code="7968" width="0.575" height="0.696" depth="0.26" />
|
||||
<Char code="7969" width="0.575" height="0.696" depth="0.26" />
|
||||
<Char code="7970" width="0.575" height="0.712" depth="0.26" />
|
||||
<Char code="7971" width="0.575" height="0.712" depth="0.26" />
|
||||
<Char code="7972" width="0.575" height="0.712" depth="0.26" />
|
||||
<Char code="7973" width="0.575" height="0.712" depth="0.26" />
|
||||
<Char code="7974" width="0.575" height="0.696" depth="0.26" />
|
||||
<Char code="7975" width="0.575" height="0.696" depth="0.26" />
|
||||
<Char code="7984" width="0.287" height="0.696" depth="0.007" >
|
||||
<Kern code="947" val="-0.032"/>
|
||||
<Kern code="951" val="-0.019"/>
|
||||
<Kern code="952" val="-0.031"/>
|
||||
<Kern code="957" val="-0.064"/>
|
||||
<Kern code="959" val="-0.032"/>
|
||||
<Kern code="962" val="-0.032"/>
|
||||
<Kern code="963" val="-0.032"/>
|
||||
<Kern code="964" val="-0.032"/>
|
||||
<Kern code="967" val="-0.032"/>
|
||||
<Kern code="977" val="-0.019"/>
|
||||
</Char>
|
||||
<Char code="7985" width="0.287" height="0.696" depth="0.007" >
|
||||
<Kern code="947" val="-0.032"/>
|
||||
<Kern code="951" val="-0.019"/>
|
||||
<Kern code="952" val="-0.031"/>
|
||||
<Kern code="957" val="-0.064"/>
|
||||
<Kern code="959" val="-0.032"/>
|
||||
<Kern code="962" val="-0.032"/>
|
||||
<Kern code="963" val="-0.032"/>
|
||||
<Kern code="964" val="-0.032"/>
|
||||
<Kern code="967" val="-0.032"/>
|
||||
<Kern code="977" val="-0.019"/>
|
||||
</Char>
|
||||
<Char code="7986" width="0.287" height="0.711" depth="0.007" />
|
||||
<Char code="7987" width="0.287" height="0.711" depth="0.007" />
|
||||
<Char code="7988" width="0.287" height="0.711" depth="0.007" italic="0.001" >
|
||||
<Kern code="947" val="-0.032"/>
|
||||
<Kern code="951" val="-0.019"/>
|
||||
<Kern code="952" val="-0.019"/>
|
||||
<Kern code="957" val="-0.064"/>
|
||||
<Kern code="959" val="-0.032"/>
|
||||
<Kern code="962" val="-0.032"/>
|
||||
<Kern code="963" val="-0.032"/>
|
||||
<Kern code="964" val="-0.032"/>
|
||||
<Kern code="967" val="-0.032"/>
|
||||
<Kern code="977" val="-0.019"/>
|
||||
</Char>
|
||||
<Char code="7989" width="0.287" height="0.711" depth="0.007" italic="0.001" >
|
||||
<Kern code="947" val="-0.032"/>
|
||||
<Kern code="951" val="-0.019"/>
|
||||
<Kern code="952" val="-0.019"/>
|
||||
<Kern code="957" val="-0.064"/>
|
||||
<Kern code="959" val="-0.032"/>
|
||||
<Kern code="962" val="-0.032"/>
|
||||
<Kern code="963" val="-0.032"/>
|
||||
<Kern code="964" val="-0.032"/>
|
||||
<Kern code="967" val="-0.032"/>
|
||||
<Kern code="977" val="-0.019"/>
|
||||
</Char>
|
||||
<Char code="7990" width="0.287" height="0.696" depth="0.007" italic="0.029" >
|
||||
<Kern code="947" val="-0.032"/>
|
||||
<Kern code="951" val="-0.019"/>
|
||||
<Kern code="952" val="-0.019"/>
|
||||
<Kern code="957" val="-0.064"/>
|
||||
<Kern code="959" val="-0.032"/>
|
||||
<Kern code="962" val="-0.032"/>
|
||||
<Kern code="963" val="-0.032"/>
|
||||
<Kern code="964" val="-0.032"/>
|
||||
<Kern code="967" val="-0.032"/>
|
||||
<Kern code="977" val="-0.019"/>
|
||||
</Char>
|
||||
<Char code="7991" width="0.287" height="0.696" depth="0.007" italic="0.029" >
|
||||
<Kern code="947" val="-0.032"/>
|
||||
<Kern code="951" val="-0.019"/>
|
||||
<Kern code="952" val="-0.019"/>
|
||||
<Kern code="957" val="-0.064"/>
|
||||
<Kern code="959" val="-0.032"/>
|
||||
<Kern code="962" val="-0.032"/>
|
||||
<Kern code="963" val="-0.032"/>
|
||||
<Kern code="964" val="-0.032"/>
|
||||
<Kern code="967" val="-0.032"/>
|
||||
<Kern code="977" val="-0.019"/>
|
||||
</Char>
|
||||
<Char code="8000" width="0.607" height="0.696" depth="0.006" >
|
||||
<Kern code="947" val="-0.032"/>
|
||||
<Kern code="955" val="-0.032"/>
|
||||
<Kern code="957" val="-0.026"/>
|
||||
<Kern code="964" val="-0.026"/>
|
||||
<Kern code="967" val="-0.032"/>
|
||||
</Char>
|
||||
<Char code="8001" width="0.607" height="0.696" depth="0.006" >
|
||||
<Kern code="947" val="-0.032"/>
|
||||
<Kern code="955" val="-0.032"/>
|
||||
<Kern code="957" val="-0.026"/>
|
||||
<Kern code="964" val="-0.026"/>
|
||||
<Kern code="967" val="-0.032"/>
|
||||
</Char>
|
||||
<Char code="8002" width="0.607" height="0.711" depth="0.006" />
|
||||
<Char code="8003" width="0.607" height="0.711" depth="0.006" />
|
||||
<Char code="8004" width="0.607" height="0.711" depth="0.006" >
|
||||
<Kern code="947" val="-0.032"/>
|
||||
<Kern code="955" val="-0.032"/>
|
||||
<Kern code="957" val="-0.026"/>
|
||||
<Kern code="964" val="-0.026"/>
|
||||
<Kern code="967" val="-0.032"/>
|
||||
</Char>
|
||||
<Char code="8005" width="0.607" height="0.711" depth="0.006" >
|
||||
<Kern code="947" val="-0.032"/>
|
||||
<Kern code="955" val="-0.032"/>
|
||||
<Kern code="957" val="-0.026"/>
|
||||
<Kern code="964" val="-0.026"/>
|
||||
<Kern code="967" val="-0.032"/>
|
||||
</Char>
|
||||
<Char code="8016" width="0.575" height="0.696" depth="0.006" />
|
||||
<Char code="8017" width="0.575" height="0.696" depth="0.006" />
|
||||
<Char code="8018" width="0.575" height="0.712" depth="0.006" />
|
||||
<Char code="8019" width="0.575" height="0.712" depth="0.006" />
|
||||
<Char code="8020" width="0.575" height="0.712" depth="0.006" />
|
||||
<Char code="8021" width="0.575" height="0.712" depth="0.006" />
|
||||
<Char code="8022" width="0.575" height="0.696" depth="0.006" />
|
||||
<Char code="8023" width="0.575" height="0.696" depth="0.006" />
|
||||
<Char code="8032" width="0.766" height="0.696" depth="0.006" />
|
||||
<Char code="8033" width="0.766" height="0.696" depth="0.006" />
|
||||
<Char code="8034" width="0.766" height="0.712" depth="0.006" />
|
||||
<Char code="8035" width="0.766" height="0.712" depth="0.006" />
|
||||
<Char code="8036" width="0.766" height="0.712" depth="0.006" />
|
||||
<Char code="8037" width="0.766" height="0.712" depth="0.006" />
|
||||
<Char code="8038" width="0.766" height="0.696" depth="0.006" />
|
||||
<Char code="8039" width="0.766" height="0.696" depth="0.006" />
|
||||
<Char code="8048" width="0.575" height="0.711" depth="0.006" italic="0.029" />
|
||||
<Char code="8050" width="0.495" height="0.711" depth="0.01" />
|
||||
<Char code="8052" width="0.575" height="0.712" depth="0.26" />
|
||||
<Char code="8054" width="0.287" height="0.711" depth="0.007" >
|
||||
<Kern code="947" val="-0.032"/>
|
||||
<Kern code="951" val="-0.019"/>
|
||||
<Kern code="952" val="-0.019"/>
|
||||
<Kern code="957" val="-0.064"/>
|
||||
<Kern code="959" val="-0.032"/>
|
||||
<Kern code="962" val="-0.032"/>
|
||||
<Kern code="963" val="-0.032"/>
|
||||
<Kern code="964" val="-0.032"/>
|
||||
<Kern code="967" val="-0.032"/>
|
||||
<Kern code="977" val="-0.019"/>
|
||||
</Char>
|
||||
<Char code="8056" width="0.607" height="0.711" depth="0.006" >
|
||||
<Kern code="947" val="-0.032"/>
|
||||
<Kern code="955" val="-0.032"/>
|
||||
<Kern code="957" val="-0.026"/>
|
||||
<Kern code="964" val="-0.026"/>
|
||||
<Kern code="967" val="-0.032"/>
|
||||
</Char>
|
||||
<Char code="8058" width="0.575" height="0.712" depth="0.006" />
|
||||
<Char code="8060" width="0.766" height="0.712" depth="0.006" />
|
||||
<Char code="8064" width="0.575" height="0.696" depth="0.241" italic="0.029" />
|
||||
<Char code="8065" width="0.575" height="0.696" depth="0.241" italic="0.029" />
|
||||
<Char code="8066" width="0.575" height="0.711" depth="0.241" italic="0.029" />
|
||||
<Char code="8067" width="0.575" height="0.711" depth="0.241" italic="0.029" />
|
||||
<Char code="8068" width="0.575" height="0.711" depth="0.241" italic="0.029" />
|
||||
<Char code="8069" width="0.575" height="0.711" depth="0.241" italic="0.029" />
|
||||
<Char code="8070" width="0.575" height="0.696" depth="0.241" italic="0.029" />
|
||||
<Char code="8071" width="0.575" height="0.696" depth="0.241" italic="0.029" />
|
||||
<Char code="8080" width="0.575" height="0.696" depth="0.26" />
|
||||
<Char code="8081" width="0.575" height="0.696" depth="0.26" />
|
||||
<Char code="8082" width="0.575" height="0.712" depth="0.26" />
|
||||
<Char code="8083" width="0.575" height="0.712" depth="0.26" />
|
||||
<Char code="8084" width="0.575" height="0.712" depth="0.26" />
|
||||
<Char code="8085" width="0.575" height="0.712" depth="0.26" />
|
||||
<Char code="8086" width="0.575" height="0.696" depth="0.26" />
|
||||
<Char code="8087" width="0.575" height="0.696" depth="0.26" />
|
||||
<Char code="8096" width="0.766" height="0.696" depth="0.241" />
|
||||
<Char code="8097" width="0.766" height="0.696" depth="0.241" />
|
||||
<Char code="8098" width="0.766" height="0.712" depth="0.241" />
|
||||
<Char code="8099" width="0.766" height="0.712" depth="0.241" />
|
||||
<Char code="8100" width="0.766" height="0.712" depth="0.241" />
|
||||
<Char code="8101" width="0.766" height="0.712" depth="0.241" />
|
||||
<Char code="8102" width="0.766" height="0.696" depth="0.241" />
|
||||
<Char code="8103" width="0.766" height="0.696" depth="0.241" />
|
||||
<Char code="8114" width="0.575" height="0.711" depth="0.241" italic="0.029" />
|
||||
<Char code="8115" width="0.575" height="0.452" depth="0.241" italic="0.029" />
|
||||
<Char code="8116" width="0.575" height="0.711" depth="0.241" italic="0.029" />
|
||||
<Char code="8118" width="0.575" height="0.641" depth="0.006" italic="0.029" />
|
||||
<Char code="8119" width="0.575" height="0.641" depth="0.241" italic="0.029" />
|
||||
<Char code="8124" width="0.869" height="0.7" depth="0.241" >
|
||||
<Kern code="920" val="-0.096"/>
|
||||
<Kern code="927" val="-0.096"/>
|
||||
<Kern code="932" val="-0.096"/>
|
||||
<Kern code="933" val="-0.16"/>
|
||||
<Kern code="934" val="-0.096"/>
|
||||
<Kern code="936" val="-0.141"/>
|
||||
<Kern code="939" val="-0.16"/>
|
||||
</Char>
|
||||
<Char code="8126" width="0.255" height="0.157" depth="0.155" />
|
||||
<Char code="8127" width="0.255" height="0.696" >
|
||||
<Kern code="913" val="-0.16"/>
|
||||
<Kern code="927" val="-0.064"/>
|
||||
<Kern code="937" val="-0.032"/>
|
||||
<Kern code="8124" val="-0.16"/>
|
||||
<Kern code="8188" val="-0.032"/>
|
||||
</Char>
|
||||
<Char code="8128" width="0.383" height="0.641" >
|
||||
<Kern code="913" val="-0.128"/>
|
||||
<Kern code="8124" val="-0.128"/>
|
||||
</Char>
|
||||
<Char code="8129" width="0.511" height="0.696" />
|
||||
<Char code="8130" width="0.575" height="0.712" depth="0.26" />
|
||||
<Char code="8131" width="0.575" height="0.456" depth="0.26" />
|
||||
<Char code="8132" width="0.575" height="0.712" depth="0.26" />
|
||||
<Char code="8134" width="0.575" height="0.641" depth="0.26" />
|
||||
<Char code="8135" width="0.575" height="0.641" depth="0.26" />
|
||||
<Char code="8140" width="0.9" height="0.687" depth="0.241" />
|
||||
<Char code="8141" width="0.319" height="0.711" >
|
||||
<Kern code="913" val="-0.096"/>
|
||||
<Kern code="927" val="-0.032"/>
|
||||
<Kern code="8124" val="-0.096"/>
|
||||
</Char>
|
||||
<Char code="8142" width="0.319" height="0.711" italic="0.004" >
|
||||
<Kern code="913" val="-0.096"/>
|
||||
<Kern code="927" val="-0.032"/>
|
||||
<Kern code="8124" val="-0.096"/>
|
||||
</Char>
|
||||
<Char code="8143" width="0.383" height="0.696" >
|
||||
<Kern code="913" val="-0.128"/>
|
||||
<Kern code="8124" val="-0.128"/>
|
||||
</Char>
|
||||
<Char code="8146" width="0.287" height="0.711" depth="0.007" italic="0.028" >
|
||||
<Kern code="947" val="-0.032"/>
|
||||
<Kern code="951" val="-0.019"/>
|
||||
<Kern code="952" val="-0.031"/>
|
||||
<Kern code="957" val="-0.064"/>
|
||||
<Kern code="959" val="-0.032"/>
|
||||
<Kern code="962" val="-0.032"/>
|
||||
<Kern code="963" val="-0.032"/>
|
||||
<Kern code="964" val="-0.032"/>
|
||||
<Kern code="967" val="-0.032"/>
|
||||
<Kern code="977" val="-0.019"/>
|
||||
</Char>
|
||||
<Char code="8150" width="0.287" height="0.641" depth="0.007" italic="0.029" >
|
||||
<Kern code="947" val="-0.032"/>
|
||||
<Kern code="951" val="-0.019"/>
|
||||
<Kern code="952" val="-0.019"/>
|
||||
<Kern code="957" val="-0.064"/>
|
||||
<Kern code="959" val="-0.032"/>
|
||||
<Kern code="962" val="-0.032"/>
|
||||
<Kern code="963" val="-0.032"/>
|
||||
<Kern code="964" val="-0.032"/>
|
||||
<Kern code="967" val="-0.032"/>
|
||||
<Kern code="977" val="-0.019"/>
|
||||
</Char>
|
||||
<Char code="8151" width="0.287" height="0.696" depth="0.007" italic="0.029" >
|
||||
<Kern code="947" val="-0.032"/>
|
||||
<Kern code="951" val="-0.019"/>
|
||||
<Kern code="952" val="-0.019"/>
|
||||
<Kern code="957" val="-0.064"/>
|
||||
<Kern code="959" val="-0.032"/>
|
||||
<Kern code="962" val="-0.032"/>
|
||||
<Kern code="963" val="-0.032"/>
|
||||
<Kern code="964" val="-0.032"/>
|
||||
<Kern code="967" val="-0.032"/>
|
||||
<Kern code="977" val="-0.019"/>
|
||||
</Char>
|
||||
<Char code="8157" width="0.319" height="0.711" >
|
||||
<Kern code="913" val="-0.096"/>
|
||||
<Kern code="927" val="-0.032"/>
|
||||
<Kern code="8124" val="-0.096"/>
|
||||
</Char>
|
||||
<Char code="8158" width="0.319" height="0.711" italic="0.004" >
|
||||
<Kern code="913" val="-0.096"/>
|
||||
<Kern code="927" val="-0.032"/>
|
||||
<Kern code="8124" val="-0.096"/>
|
||||
</Char>
|
||||
<Char code="8159" width="0.383" height="0.696" >
|
||||
<Kern code="913" val="-0.128"/>
|
||||
<Kern code="8124" val="-0.128"/>
|
||||
</Char>
|
||||
<Char code="8162" width="0.575" height="0.712" depth="0.006" />
|
||||
<Char code="8164" width="0.543" height="0.696" depth="0.256" />
|
||||
<Char code="8165" width="0.543" height="0.696" depth="0.256" />
|
||||
<Char code="8166" width="0.575" height="0.641" depth="0.006" />
|
||||
<Char code="8167" width="0.575" height="0.696" depth="0.006" />
|
||||
<Char code="8173" width="0.319" height="0.711" italic="0.031" />
|
||||
<Char code="8175" width="0.192" height="0.712" >
|
||||
<Kern code="913" val="-0.128"/>
|
||||
<Kern code="927" val="-0.064"/>
|
||||
<Kern code="937" val="-0.032"/>
|
||||
<Kern code="8124" val="-0.128"/>
|
||||
<Kern code="8188" val="-0.032"/>
|
||||
</Char>
|
||||
<Char code="8178" width="0.766" height="0.712" depth="0.241" />
|
||||
<Char code="8179" width="0.766" height="0.457" depth="0.241" />
|
||||
<Char code="8180" width="0.766" height="0.712" depth="0.241" />
|
||||
<Char code="8182" width="0.766" height="0.641" depth="0.006" />
|
||||
<Char code="8183" width="0.766" height="0.641" depth="0.241" />
|
||||
<Char code="8188" width="0.83" height="0.698" depth="0.241" />
|
||||
<Char code="8190" width="0.255" height="0.696" >
|
||||
<Kern code="913" val="-0.192"/>
|
||||
<Kern code="927" val="-0.064"/>
|
||||
<Kern code="937" val="-0.032"/>
|
||||
<Kern code="8124" val="-0.192"/>
|
||||
<Kern code="8188" val="-0.032"/>
|
||||
</Char>
|
||||
<Char code="8217" width="0.319" height="0.696" >
|
||||
</Char>
|
||||
<Char code="9001" width="0.447" height="0.751" depth="0.251" />
|
||||
<Char code="9002" width="0.447" height="0.751" depth="0.251" />
|
||||
</Font>
|
||||
BIN
3rdparty/MicroTeX/res/greek/fcmripg.ttf
vendored
Normal file
BIN
3rdparty/MicroTeX/res/greek/fcmripg.ttf
vendored
Normal file
Binary file not shown.
2183
3rdparty/MicroTeX/res/greek/fcmripg.xml
vendored
Normal file
2183
3rdparty/MicroTeX/res/greek/fcmripg.xml
vendored
Normal file
File diff suppressed because it is too large
Load Diff
BIN
3rdparty/MicroTeX/res/greek/fcmrpg.ttf
vendored
Normal file
BIN
3rdparty/MicroTeX/res/greek/fcmrpg.ttf
vendored
Normal file
Binary file not shown.
566
3rdparty/MicroTeX/res/greek/fcmrpg.xml
vendored
Normal file
566
3rdparty/MicroTeX/res/greek/fcmrpg.xml
vendored
Normal file
@ -0,0 +1,566 @@
|
||||
<?xml version='1.0'?>
|
||||
<Font name="fcmrpg.ttf" id="fcmrpg" space="0.278" xHeight="0.443" quad="1" unicode="205" itVersion="fcmripg" boldVersion="fcmbpg" ssVersion="fcsrpg" ttVersion="fctrpg">
|
||||
<Char code="32" width="0.278" height="0.0" />
|
||||
<Char code="168" width="0.222" height="0.603" italic="0.041" />
|
||||
<Char code="884" width="0.194" height="0.701" />
|
||||
<Char code="885" width="0.194" height="0.003" depth="0.217" />
|
||||
<Char code="890" width="0.111" height="-0.063" depth="0.228" />
|
||||
<Char code="900" width="0.167" height="0.701" >
|
||||
<Kern code="913" val="-0.111"/>
|
||||
<Kern code="927" val="-0.056"/>
|
||||
<Kern code="937" val="-0.028"/>
|
||||
<Kern code="8124" val="-0.111"/>
|
||||
<Kern code="8188" val="-0.028"/>
|
||||
</Char>
|
||||
<Char code="901" width="0.278" height="0.701" />
|
||||
<Char code="903" width="0.278" height="0.431" />
|
||||
<Char code="912" width="0.25" height="0.701" depth="0.012" >
|
||||
<Kern code="947" val="-0.028"/>
|
||||
<Kern code="951" val="-0.017"/>
|
||||
<Kern code="952" val="-0.017"/>
|
||||
<Kern code="957" val="-0.056"/>
|
||||
<Kern code="959" val="-0.028"/>
|
||||
<Kern code="962" val="-0.028"/>
|
||||
<Kern code="963" val="-0.028"/>
|
||||
<Kern code="964" val="-0.028"/>
|
||||
<Kern code="967" val="-0.028"/>
|
||||
<Kern code="977" val="-0.017"/>
|
||||
</Char>
|
||||
<Char code="913" width="0.75" height="0.717" >
|
||||
<Kern code="920" val="-0.083"/>
|
||||
<Kern code="927" val="-0.083"/>
|
||||
<Kern code="932" val="-0.083"/>
|
||||
<Kern code="933" val="-0.139"/>
|
||||
<Kern code="934" val="-0.083"/>
|
||||
<Kern code="936" val="-0.122"/>
|
||||
<Kern code="939" val="-0.139"/>
|
||||
</Char>
|
||||
<Char code="914" width="0.708" height="0.685" />
|
||||
<Char code="915" width="0.625" height="0.681" >
|
||||
<Kern code="913" val="-0.133"/>
|
||||
<Kern code="916" val="-0.111"/>
|
||||
<Kern code="923" val="-0.122"/>
|
||||
<Kern code="8124" val="-0.133"/>
|
||||
</Char>
|
||||
<Char code="916" width="0.833" height="0.718" >
|
||||
<Kern code="927" val="-0.033"/>
|
||||
<Kern code="933" val="-0.139"/>
|
||||
<Kern code="939" val="-0.139"/>
|
||||
</Char>
|
||||
<Char code="917" width="0.68" height="0.681" />
|
||||
<Char code="918" width="0.611" height="0.685" />
|
||||
<Char code="919" width="0.75" height="0.684" />
|
||||
<Char code="920" width="0.778" height="0.706" depth="0.021" >
|
||||
<Kern code="913" val="-0.083"/>
|
||||
<Kern code="8124" val="-0.083"/>
|
||||
</Char>
|
||||
<Char code="921" width="0.361" height="0.684" />
|
||||
<Char code="922" width="0.778" height="0.684" >
|
||||
<Kern code="927" val="-0.083"/>
|
||||
</Char>
|
||||
<Char code="923" width="0.694" height="0.718" >
|
||||
<Kern code="927" val="-0.033"/>
|
||||
<Kern code="933" val="-0.1"/>
|
||||
<Kern code="939" val="-0.1"/>
|
||||
</Char>
|
||||
<Char code="924" width="0.916" height="0.684" />
|
||||
<Char code="925" width="0.75" height="0.684" >
|
||||
<Kern code="913" val="-0.083"/>
|
||||
<Kern code="8124" val="-0.083"/>
|
||||
</Char>
|
||||
<Char code="926" width="0.667" height="0.678" />
|
||||
<Char code="927" width="0.778" height="0.706" depth="0.021" >
|
||||
<Kern code="913" val="-0.083"/>
|
||||
<Kern code="931" val="-0.056"/>
|
||||
<Kern code="8124" val="-0.083"/>
|
||||
</Char>
|
||||
<Char code="928" width="0.75" height="0.681" />
|
||||
<Char code="929" width="0.68" height="0.685" >
|
||||
<Kern code="913" val="-0.167"/>
|
||||
<Kern code="8124" val="-0.167"/>
|
||||
</Char>
|
||||
<Char code="931" width="0.722" height="0.684" >
|
||||
<Kern code="913" val="-0.028"/>
|
||||
<Kern code="8124" val="-0.028"/>
|
||||
</Char>
|
||||
<Char code="932" width="0.722" height="0.678" >
|
||||
<Kern code="913" val="-0.083"/>
|
||||
<Kern code="8124" val="-0.083"/>
|
||||
</Char>
|
||||
<Char code="933" width="0.778" height="0.707" >
|
||||
<Kern code="913" val="-0.139"/>
|
||||
<Kern code="916" val="-0.139"/>
|
||||
<Kern code="923" val="-0.139"/>
|
||||
<Kern code="8124" val="-0.139"/>
|
||||
</Char>
|
||||
<Char code="934" width="0.722" height="0.684" >
|
||||
<Kern code="913" val="-0.083"/>
|
||||
<Kern code="8124" val="-0.083"/>
|
||||
</Char>
|
||||
<Char code="935" width="0.75" height="0.684" />
|
||||
<Char code="936" width="0.778" height="0.684" >
|
||||
<Kern code="913" val="-0.122"/>
|
||||
<Kern code="8124" val="-0.122"/>
|
||||
</Char>
|
||||
<Char code="937" width="0.722" height="0.706" />
|
||||
<Char code="938" width="0.361" height="0.833" />
|
||||
<Char code="939" width="0.778" height="0.833" >
|
||||
<Kern code="913" val="-0.139"/>
|
||||
<Kern code="916" val="-0.139"/>
|
||||
<Kern code="923" val="-0.139"/>
|
||||
<Kern code="8124" val="-0.139"/>
|
||||
</Char>
|
||||
<Char code="940" width="0.5" height="0.702" depth="0.011" italic="0.001" />
|
||||
<Char code="941" width="0.43" height="0.701" depth="0.021" />
|
||||
<Char code="942" width="0.5" height="0.701" depth="0.271" />
|
||||
<Char code="943" width="0.25" height="0.701" depth="0.012" >
|
||||
<Kern code="947" val="-0.028"/>
|
||||
<Kern code="951" val="-0.017"/>
|
||||
<Kern code="952" val="-0.028"/>
|
||||
<Kern code="957" val="-0.056"/>
|
||||
<Kern code="959" val="-0.028"/>
|
||||
<Kern code="962" val="-0.028"/>
|
||||
<Kern code="963" val="-0.028"/>
|
||||
<Kern code="964" val="-0.028"/>
|
||||
<Kern code="967" val="-0.028"/>
|
||||
<Kern code="977" val="-0.017"/>
|
||||
</Char>
|
||||
<Char code="944" width="0.5" height="0.702" depth="0.01" />
|
||||
<Char code="945" width="0.5" height="0.443" depth="0.011" italic="0.001" />
|
||||
<Char code="946" width="0.5" height="0.706" depth="0.276" />
|
||||
<Char code="947" width="0.555" height="0.442" depth="0.2" />
|
||||
<Char code="948" width="0.472" height="0.7" depth="0.01" />
|
||||
<Char code="949" width="0.43" height="0.454" depth="0.021" />
|
||||
<Char code="950" width="0.472" height="0.718" depth="0.139" />
|
||||
<Char code="951" width="0.5" height="0.454" depth="0.271" />
|
||||
<Char code="952" width="0.472" height="0.717" depth="0.022" />
|
||||
<Char code="953" width="0.25" height="0.443" depth="0.012" >
|
||||
<Kern code="947" val="-0.028"/>
|
||||
<Kern code="951" val="-0.017"/>
|
||||
<Kern code="952" val="-0.028"/>
|
||||
<Kern code="957" val="-0.056"/>
|
||||
<Kern code="959" val="-0.028"/>
|
||||
<Kern code="962" val="-0.028"/>
|
||||
<Kern code="963" val="-0.028"/>
|
||||
<Kern code="964" val="-0.028"/>
|
||||
<Kern code="967" val="-0.028"/>
|
||||
<Kern code="977" val="-0.017"/>
|
||||
</Char>
|
||||
<Char code="954" width="0.528" height="0.454" depth="0.022" />
|
||||
<Char code="955" width="0.5" height="0.697" depth="0.01" />
|
||||
<Char code="956" width="0.519" height="0.453" depth="0.26" />
|
||||
<Char code="957" width="0.472" height="0.443" depth="0.01" />
|
||||
<Char code="958" width="0.472" height="0.717" depth="0.139" />
|
||||
<Char code="959" width="0.528" height="0.443" depth="0.011" >
|
||||
<Kern code="947" val="-0.028"/>
|
||||
<Kern code="955" val="-0.028"/>
|
||||
<Kern code="957" val="-0.022"/>
|
||||
<Kern code="964" val="-0.022"/>
|
||||
<Kern code="967" val="-0.028"/>
|
||||
</Char>
|
||||
<Char code="960" width="0.514" height="0.432" depth="0.018" />
|
||||
<Char code="961" width="0.472" height="0.442" depth="0.261" />
|
||||
<Char code="962" width="0.444" height="0.443" depth="0.125" />
|
||||
<Char code="963" width="0.569" height="0.432" depth="0.01" />
|
||||
<Char code="964" width="0.458" height="0.432" depth="0.01" >
|
||||
<Kern code="940" val="-0.028"/>
|
||||
<Kern code="945" val="-0.028"/>
|
||||
<Kern code="959" val="-0.028"/>
|
||||
<Kern code="969" val="-0.028"/>
|
||||
<Kern code="972" val="-0.028"/>
|
||||
<Kern code="974" val="-0.028"/>
|
||||
<Kern code="7936" val="-0.028"/>
|
||||
<Kern code="7937" val="-0.028"/>
|
||||
<Kern code="7940" val="-0.028"/>
|
||||
<Kern code="7941" val="-0.028"/>
|
||||
<Kern code="7942" val="-0.028"/>
|
||||
<Kern code="7943" val="-0.028"/>
|
||||
<Kern code="8000" val="-0.028"/>
|
||||
<Kern code="8001" val="-0.028"/>
|
||||
<Kern code="8004" val="-0.028"/>
|
||||
<Kern code="8005" val="-0.028"/>
|
||||
<Kern code="8032" val="-0.028"/>
|
||||
<Kern code="8033" val="-0.028"/>
|
||||
<Kern code="8036" val="-0.028"/>
|
||||
<Kern code="8037" val="-0.028"/>
|
||||
<Kern code="8038" val="-0.028"/>
|
||||
<Kern code="8039" val="-0.028"/>
|
||||
<Kern code="8048" val="-0.028"/>
|
||||
<Kern code="8056" val="-0.028"/>
|
||||
<Kern code="8060" val="-0.028"/>
|
||||
<Kern code="8064" val="-0.028"/>
|
||||
<Kern code="8065" val="-0.028"/>
|
||||
<Kern code="8068" val="-0.028"/>
|
||||
<Kern code="8069" val="-0.028"/>
|
||||
<Kern code="8070" val="-0.028"/>
|
||||
<Kern code="8071" val="-0.028"/>
|
||||
<Kern code="8096" val="-0.028"/>
|
||||
<Kern code="8097" val="-0.028"/>
|
||||
<Kern code="8100" val="-0.028"/>
|
||||
<Kern code="8101" val="-0.028"/>
|
||||
<Kern code="8102" val="-0.028"/>
|
||||
<Kern code="8103" val="-0.028"/>
|
||||
<Kern code="8114" val="-0.028"/>
|
||||
<Kern code="8116" val="-0.028"/>
|
||||
<Kern code="8118" val="-0.028"/>
|
||||
<Kern code="8119" val="-0.028"/>
|
||||
<Kern code="8178" val="-0.028"/>
|
||||
<Kern code="8180" val="-0.028"/>
|
||||
<Kern code="8182" val="-0.028"/>
|
||||
<Kern code="8183" val="-0.028"/>
|
||||
</Char>
|
||||
<Char code="965" width="0.5" height="0.457" depth="0.01" />
|
||||
<Char code="966" width="0.583" height="0.455" depth="0.275" />
|
||||
<Char code="967" width="0.555" height="0.444" depth="0.262" />
|
||||
<Char code="968" width="0.583" height="0.72" depth="0.276" />
|
||||
<Char code="969" width="0.667" height="0.453" depth="0.011" />
|
||||
<Char code="970" width="0.25" height="0.626" depth="0.012" >
|
||||
<Kern code="947" val="-0.028"/>
|
||||
<Kern code="951" val="-0.017"/>
|
||||
<Kern code="952" val="-0.017"/>
|
||||
<Kern code="957" val="-0.056"/>
|
||||
<Kern code="959" val="-0.028"/>
|
||||
<Kern code="962" val="-0.028"/>
|
||||
<Kern code="963" val="-0.028"/>
|
||||
<Kern code="964" val="-0.028"/>
|
||||
<Kern code="967" val="-0.028"/>
|
||||
<Kern code="977" val="-0.017"/>
|
||||
</Char>
|
||||
<Char code="971" width="0.5" height="0.626" depth="0.01" />
|
||||
<Char code="972" width="0.528" height="0.701" depth="0.011" >
|
||||
<Kern code="947" val="-0.028"/>
|
||||
<Kern code="955" val="-0.028"/>
|
||||
<Kern code="957" val="-0.022"/>
|
||||
<Kern code="964" val="-0.022"/>
|
||||
<Kern code="967" val="-0.028"/>
|
||||
</Char>
|
||||
<Char code="973" width="0.5" height="0.702" depth="0.01" />
|
||||
<Char code="974" width="0.667" height="0.701" depth="0.011" />
|
||||
<Char code="977" width="0.569" height="0.707" depth="0.011" />
|
||||
<Char code="984" width="0.5" height="0.695" depth="0.001" />
|
||||
<Char code="985" width="0.5" height="0.599" depth="0.063" />
|
||||
<Char code="986" width="0.778" height="0.679" />
|
||||
<Char code="987" width="0.5" height="0.454" depth="0.027" />
|
||||
<Char code="988" width="0.653" height="0.681" />
|
||||
<Char code="989" width="0.5" height="0.432" depth="0.257" />
|
||||
<Char code="991" width="0.389" height="0.595" depth="0.138" />
|
||||
<Char code="992" width="0.766" height="0.695" />
|
||||
<Char code="993" width="0.722" height="0.696" depth="0.022" />
|
||||
<Char code="7936" width="0.5" height="0.696" depth="0.011" italic="0.001" />
|
||||
<Char code="7937" width="0.5" height="0.696" depth="0.011" italic="0.001" />
|
||||
<Char code="7938" width="0.5" height="0.702" depth="0.011" italic="0.001" />
|
||||
<Char code="7939" width="0.5" height="0.702" depth="0.011" italic="0.001" />
|
||||
<Char code="7940" width="0.5" height="0.701" depth="0.011" italic="0.001" />
|
||||
<Char code="7941" width="0.5" height="0.701" depth="0.011" italic="0.001" />
|
||||
<Char code="7942" width="0.5" height="0.696" depth="0.011" italic="0.001" />
|
||||
<Char code="7943" width="0.5" height="0.696" depth="0.011" italic="0.001" />
|
||||
<Char code="7952" width="0.43" height="0.696" depth="0.021" />
|
||||
<Char code="7953" width="0.43" height="0.696" depth="0.021" />
|
||||
<Char code="7954" width="0.43" height="0.701" depth="0.021" />
|
||||
<Char code="7955" width="0.43" height="0.701" depth="0.021" />
|
||||
<Char code="7956" width="0.43" height="0.701" depth="0.021" />
|
||||
<Char code="7957" width="0.43" height="0.701" depth="0.021" />
|
||||
<Char code="7968" width="0.5" height="0.696" depth="0.271" />
|
||||
<Char code="7969" width="0.5" height="0.696" depth="0.271" />
|
||||
<Char code="7970" width="0.5" height="0.701" depth="0.271" />
|
||||
<Char code="7971" width="0.5" height="0.701" depth="0.271" />
|
||||
<Char code="7972" width="0.5" height="0.701" depth="0.271" />
|
||||
<Char code="7973" width="0.5" height="0.701" depth="0.271" />
|
||||
<Char code="7974" width="0.5" height="0.696" depth="0.271" />
|
||||
<Char code="7975" width="0.5" height="0.696" depth="0.271" />
|
||||
<Char code="7984" width="0.25" height="0.696" depth="0.012" >
|
||||
<Kern code="947" val="-0.028"/>
|
||||
<Kern code="951" val="-0.017"/>
|
||||
<Kern code="952" val="-0.028"/>
|
||||
<Kern code="957" val="-0.056"/>
|
||||
<Kern code="959" val="-0.028"/>
|
||||
<Kern code="962" val="-0.028"/>
|
||||
<Kern code="963" val="-0.028"/>
|
||||
<Kern code="964" val="-0.028"/>
|
||||
<Kern code="967" val="-0.028"/>
|
||||
<Kern code="977" val="-0.017"/>
|
||||
</Char>
|
||||
<Char code="7985" width="0.25" height="0.696" depth="0.012" >
|
||||
<Kern code="947" val="-0.028"/>
|
||||
<Kern code="951" val="-0.017"/>
|
||||
<Kern code="952" val="-0.028"/>
|
||||
<Kern code="957" val="-0.056"/>
|
||||
<Kern code="959" val="-0.028"/>
|
||||
<Kern code="962" val="-0.028"/>
|
||||
<Kern code="963" val="-0.028"/>
|
||||
<Kern code="964" val="-0.028"/>
|
||||
<Kern code="967" val="-0.028"/>
|
||||
<Kern code="977" val="-0.017"/>
|
||||
</Char>
|
||||
<Char code="7986" width="0.25" height="0.701" depth="0.012" />
|
||||
<Char code="7987" width="0.25" height="0.701" depth="0.012" />
|
||||
<Char code="7988" width="0.25" height="0.701" depth="0.012" >
|
||||
<Kern code="947" val="-0.028"/>
|
||||
<Kern code="951" val="-0.017"/>
|
||||
<Kern code="952" val="-0.017"/>
|
||||
<Kern code="957" val="-0.056"/>
|
||||
<Kern code="959" val="-0.028"/>
|
||||
<Kern code="962" val="-0.028"/>
|
||||
<Kern code="963" val="-0.028"/>
|
||||
<Kern code="964" val="-0.028"/>
|
||||
<Kern code="967" val="-0.028"/>
|
||||
<Kern code="977" val="-0.017"/>
|
||||
</Char>
|
||||
<Char code="7989" width="0.25" height="0.701" depth="0.012" >
|
||||
<Kern code="947" val="-0.028"/>
|
||||
<Kern code="951" val="-0.017"/>
|
||||
<Kern code="952" val="-0.017"/>
|
||||
<Kern code="957" val="-0.056"/>
|
||||
<Kern code="959" val="-0.028"/>
|
||||
<Kern code="962" val="-0.028"/>
|
||||
<Kern code="963" val="-0.028"/>
|
||||
<Kern code="964" val="-0.028"/>
|
||||
<Kern code="967" val="-0.028"/>
|
||||
<Kern code="977" val="-0.017"/>
|
||||
</Char>
|
||||
<Char code="7990" width="0.25" height="0.696" depth="0.012" italic="0.008" >
|
||||
<Kern code="947" val="-0.028"/>
|
||||
<Kern code="951" val="-0.017"/>
|
||||
<Kern code="952" val="-0.017"/>
|
||||
<Kern code="957" val="-0.056"/>
|
||||
<Kern code="959" val="-0.028"/>
|
||||
<Kern code="962" val="-0.028"/>
|
||||
<Kern code="963" val="-0.028"/>
|
||||
<Kern code="964" val="-0.028"/>
|
||||
<Kern code="967" val="-0.028"/>
|
||||
<Kern code="977" val="-0.017"/>
|
||||
</Char>
|
||||
<Char code="7991" width="0.25" height="0.696" depth="0.012" italic="0.008" >
|
||||
<Kern code="947" val="-0.028"/>
|
||||
<Kern code="951" val="-0.017"/>
|
||||
<Kern code="952" val="-0.017"/>
|
||||
<Kern code="957" val="-0.056"/>
|
||||
<Kern code="959" val="-0.028"/>
|
||||
<Kern code="962" val="-0.028"/>
|
||||
<Kern code="963" val="-0.028"/>
|
||||
<Kern code="964" val="-0.028"/>
|
||||
<Kern code="967" val="-0.028"/>
|
||||
<Kern code="977" val="-0.017"/>
|
||||
</Char>
|
||||
<Char code="8000" width="0.528" height="0.696" depth="0.011" >
|
||||
<Kern code="947" val="-0.028"/>
|
||||
<Kern code="955" val="-0.028"/>
|
||||
<Kern code="957" val="-0.022"/>
|
||||
<Kern code="964" val="-0.022"/>
|
||||
<Kern code="967" val="-0.028"/>
|
||||
</Char>
|
||||
<Char code="8001" width="0.528" height="0.696" depth="0.011" >
|
||||
<Kern code="947" val="-0.028"/>
|
||||
<Kern code="955" val="-0.028"/>
|
||||
<Kern code="957" val="-0.022"/>
|
||||
<Kern code="964" val="-0.022"/>
|
||||
<Kern code="967" val="-0.028"/>
|
||||
</Char>
|
||||
<Char code="8002" width="0.528" height="0.701" depth="0.011" />
|
||||
<Char code="8003" width="0.528" height="0.701" depth="0.011" />
|
||||
<Char code="8004" width="0.528" height="0.701" depth="0.011" >
|
||||
<Kern code="947" val="-0.028"/>
|
||||
<Kern code="955" val="-0.028"/>
|
||||
<Kern code="957" val="-0.022"/>
|
||||
<Kern code="964" val="-0.022"/>
|
||||
<Kern code="967" val="-0.028"/>
|
||||
</Char>
|
||||
<Char code="8005" width="0.528" height="0.701" depth="0.011" >
|
||||
<Kern code="947" val="-0.028"/>
|
||||
<Kern code="955" val="-0.028"/>
|
||||
<Kern code="957" val="-0.022"/>
|
||||
<Kern code="964" val="-0.022"/>
|
||||
<Kern code="967" val="-0.028"/>
|
||||
</Char>
|
||||
<Char code="8016" width="0.5" height="0.696" depth="0.01" />
|
||||
<Char code="8017" width="0.5" height="0.696" depth="0.01" />
|
||||
<Char code="8018" width="0.5" height="0.701" depth="0.01" />
|
||||
<Char code="8019" width="0.5" height="0.701" depth="0.01" />
|
||||
<Char code="8020" width="0.5" height="0.701" depth="0.01" />
|
||||
<Char code="8021" width="0.5" height="0.701" depth="0.01" />
|
||||
<Char code="8022" width="0.5" height="0.696" depth="0.01" />
|
||||
<Char code="8023" width="0.5" height="0.696" depth="0.01" />
|
||||
<Char code="8032" width="0.667" height="0.696" depth="0.011" />
|
||||
<Char code="8033" width="0.667" height="0.696" depth="0.011" />
|
||||
<Char code="8034" width="0.667" height="0.702" depth="0.011" />
|
||||
<Char code="8035" width="0.667" height="0.702" depth="0.011" />
|
||||
<Char code="8036" width="0.667" height="0.701" depth="0.011" />
|
||||
<Char code="8037" width="0.667" height="0.701" depth="0.011" />
|
||||
<Char code="8038" width="0.667" height="0.696" depth="0.011" />
|
||||
<Char code="8039" width="0.667" height="0.696" depth="0.011" />
|
||||
<Char code="8048" width="0.5" height="0.701" depth="0.011" italic="0.001" />
|
||||
<Char code="8050" width="0.43" height="0.701" depth="0.021" />
|
||||
<Char code="8052" width="0.5" height="0.701" depth="0.271" />
|
||||
<Char code="8054" width="0.25" height="0.701" depth="0.012" >
|
||||
<Kern code="947" val="-0.028"/>
|
||||
<Kern code="951" val="-0.017"/>
|
||||
<Kern code="952" val="-0.017"/>
|
||||
<Kern code="957" val="-0.056"/>
|
||||
<Kern code="959" val="-0.028"/>
|
||||
<Kern code="962" val="-0.028"/>
|
||||
<Kern code="963" val="-0.028"/>
|
||||
<Kern code="964" val="-0.028"/>
|
||||
<Kern code="967" val="-0.028"/>
|
||||
<Kern code="977" val="-0.017"/>
|
||||
</Char>
|
||||
<Char code="8056" width="0.528" height="0.701" depth="0.011" >
|
||||
<Kern code="947" val="-0.028"/>
|
||||
<Kern code="955" val="-0.028"/>
|
||||
<Kern code="957" val="-0.022"/>
|
||||
<Kern code="964" val="-0.022"/>
|
||||
<Kern code="967" val="-0.028"/>
|
||||
</Char>
|
||||
<Char code="8058" width="0.5" height="0.701" depth="0.01" />
|
||||
<Char code="8060" width="0.667" height="0.701" depth="0.011" />
|
||||
<Char code="8064" width="0.5" height="0.696" depth="0.228" italic="0.001" />
|
||||
<Char code="8065" width="0.5" height="0.696" depth="0.228" italic="0.001" />
|
||||
<Char code="8066" width="0.5" height="0.702" depth="0.228" italic="0.001" />
|
||||
<Char code="8067" width="0.5" height="0.702" depth="0.228" italic="0.001" />
|
||||
<Char code="8068" width="0.5" height="0.701" depth="0.228" italic="0.001" />
|
||||
<Char code="8069" width="0.5" height="0.701" depth="0.228" italic="0.001" />
|
||||
<Char code="8070" width="0.5" height="0.696" depth="0.228" italic="0.001" />
|
||||
<Char code="8071" width="0.5" height="0.696" depth="0.228" italic="0.001" />
|
||||
<Char code="8080" width="0.5" height="0.696" depth="0.271" />
|
||||
<Char code="8081" width="0.5" height="0.696" depth="0.271" />
|
||||
<Char code="8082" width="0.5" height="0.701" depth="0.271" />
|
||||
<Char code="8083" width="0.5" height="0.701" depth="0.271" />
|
||||
<Char code="8084" width="0.5" height="0.701" depth="0.271" />
|
||||
<Char code="8085" width="0.5" height="0.701" depth="0.271" />
|
||||
<Char code="8086" width="0.5" height="0.696" depth="0.271" />
|
||||
<Char code="8087" width="0.5" height="0.696" depth="0.271" />
|
||||
<Char code="8096" width="0.667" height="0.696" depth="0.228" />
|
||||
<Char code="8097" width="0.667" height="0.696" depth="0.228" />
|
||||
<Char code="8098" width="0.667" height="0.702" depth="0.228" />
|
||||
<Char code="8099" width="0.667" height="0.702" depth="0.228" />
|
||||
<Char code="8100" width="0.667" height="0.701" depth="0.228" />
|
||||
<Char code="8101" width="0.667" height="0.701" depth="0.228" />
|
||||
<Char code="8102" width="0.667" height="0.696" depth="0.228" />
|
||||
<Char code="8103" width="0.667" height="0.696" depth="0.228" />
|
||||
<Char code="8114" width="0.5" height="0.701" depth="0.228" italic="0.001" />
|
||||
<Char code="8115" width="0.5" height="0.443" depth="0.228" italic="0.001" />
|
||||
<Char code="8116" width="0.5" height="0.702" depth="0.228" italic="0.001" />
|
||||
<Char code="8118" width="0.5" height="0.627" depth="0.011" italic="0.001" />
|
||||
<Char code="8119" width="0.5" height="0.627" depth="0.228" italic="0.001" />
|
||||
<Char code="8124" width="0.75" height="0.717" depth="0.228" >
|
||||
<Kern code="920" val="-0.083"/>
|
||||
<Kern code="927" val="-0.083"/>
|
||||
<Kern code="932" val="-0.083"/>
|
||||
<Kern code="933" val="-0.139"/>
|
||||
<Kern code="934" val="-0.083"/>
|
||||
<Kern code="936" val="-0.122"/>
|
||||
<Kern code="939" val="-0.139"/>
|
||||
</Char>
|
||||
<Char code="8126" width="0.222" height="0.158" depth="0.156" />
|
||||
<Char code="8127" width="0.222" height="0.696" >
|
||||
<Kern code="913" val="-0.139"/>
|
||||
<Kern code="927" val="-0.056"/>
|
||||
<Kern code="937" val="-0.028"/>
|
||||
<Kern code="8124" val="-0.139"/>
|
||||
<Kern code="8188" val="-0.028"/>
|
||||
</Char>
|
||||
<Char code="8128" width="0.333" height="0.627" >
|
||||
<Kern code="913" val="-0.111"/>
|
||||
<Kern code="8124" val="-0.111"/>
|
||||
</Char>
|
||||
<Char code="8129" width="0.444" height="0.696" />
|
||||
<Char code="8130" width="0.5" height="0.701" depth="0.271" />
|
||||
<Char code="8131" width="0.5" height="0.454" depth="0.271" />
|
||||
<Char code="8132" width="0.5" height="0.701" depth="0.271" />
|
||||
<Char code="8134" width="0.5" height="0.627" depth="0.271" />
|
||||
<Char code="8135" width="0.5" height="0.627" depth="0.271" />
|
||||
<Char code="8140" width="0.75" height="0.684" depth="0.228" />
|
||||
<Char code="8141" width="0.278" height="0.701" italic="0.016" >
|
||||
<Kern code="913" val="-0.083"/>
|
||||
<Kern code="927" val="-0.028"/>
|
||||
<Kern code="8124" val="-0.083"/>
|
||||
</Char>
|
||||
<Char code="8142" width="0.278" height="0.701" italic="0.012" >
|
||||
<Kern code="913" val="-0.083"/>
|
||||
<Kern code="927" val="-0.028"/>
|
||||
<Kern code="8124" val="-0.083"/>
|
||||
</Char>
|
||||
<Char code="8143" width="0.333" height="0.696" >
|
||||
<Kern code="913" val="-0.111"/>
|
||||
<Kern code="8124" val="-0.111"/>
|
||||
</Char>
|
||||
<Char code="8146" width="0.25" height="0.701" depth="0.012" >
|
||||
<Kern code="947" val="-0.028"/>
|
||||
<Kern code="951" val="-0.017"/>
|
||||
<Kern code="952" val="-0.028"/>
|
||||
<Kern code="957" val="-0.056"/>
|
||||
<Kern code="959" val="-0.028"/>
|
||||
<Kern code="962" val="-0.028"/>
|
||||
<Kern code="963" val="-0.028"/>
|
||||
<Kern code="964" val="-0.028"/>
|
||||
<Kern code="967" val="-0.028"/>
|
||||
<Kern code="977" val="-0.017"/>
|
||||
</Char>
|
||||
<Char code="8150" width="0.25" height="0.627" depth="0.012" italic="0.008" >
|
||||
<Kern code="947" val="-0.028"/>
|
||||
<Kern code="951" val="-0.017"/>
|
||||
<Kern code="952" val="-0.017"/>
|
||||
<Kern code="957" val="-0.056"/>
|
||||
<Kern code="959" val="-0.028"/>
|
||||
<Kern code="962" val="-0.028"/>
|
||||
<Kern code="963" val="-0.028"/>
|
||||
<Kern code="964" val="-0.028"/>
|
||||
<Kern code="967" val="-0.028"/>
|
||||
<Kern code="977" val="-0.017"/>
|
||||
</Char>
|
||||
<Char code="8151" width="0.25" height="0.696" depth="0.012" italic="0.008" >
|
||||
<Kern code="947" val="-0.028"/>
|
||||
<Kern code="951" val="-0.017"/>
|
||||
<Kern code="952" val="-0.017"/>
|
||||
<Kern code="957" val="-0.056"/>
|
||||
<Kern code="959" val="-0.028"/>
|
||||
<Kern code="962" val="-0.028"/>
|
||||
<Kern code="963" val="-0.028"/>
|
||||
<Kern code="964" val="-0.028"/>
|
||||
<Kern code="967" val="-0.028"/>
|
||||
<Kern code="977" val="-0.017"/>
|
||||
</Char>
|
||||
<Char code="8157" width="0.278" height="0.701" italic="0.016" >
|
||||
<Kern code="913" val="-0.083"/>
|
||||
<Kern code="927" val="-0.028"/>
|
||||
<Kern code="8124" val="-0.083"/>
|
||||
</Char>
|
||||
<Char code="8158" width="0.278" height="0.701" italic="0.012" >
|
||||
<Kern code="913" val="-0.083"/>
|
||||
<Kern code="927" val="-0.028"/>
|
||||
<Kern code="8124" val="-0.083"/>
|
||||
</Char>
|
||||
<Char code="8159" width="0.333" height="0.696" >
|
||||
<Kern code="913" val="-0.111"/>
|
||||
<Kern code="8124" val="-0.111"/>
|
||||
</Char>
|
||||
<Char code="8162" width="0.5" height="0.701" depth="0.01" />
|
||||
<Char code="8164" width="0.472" height="0.696" depth="0.261" />
|
||||
<Char code="8165" width="0.472" height="0.696" depth="0.261" />
|
||||
<Char code="8166" width="0.5" height="0.627" depth="0.01" />
|
||||
<Char code="8167" width="0.5" height="0.696" depth="0.01" />
|
||||
<Char code="8173" width="0.278" height="0.701" />
|
||||
<Char code="8175" width="0.167" height="0.701" >
|
||||
<Kern code="913" val="-0.111"/>
|
||||
<Kern code="927" val="-0.056"/>
|
||||
<Kern code="937" val="-0.028"/>
|
||||
<Kern code="8124" val="-0.111"/>
|
||||
<Kern code="8188" val="-0.028"/>
|
||||
</Char>
|
||||
<Char code="8178" width="0.667" height="0.701" depth="0.228" />
|
||||
<Char code="8179" width="0.667" height="0.453" depth="0.228" />
|
||||
<Char code="8180" width="0.667" height="0.701" depth="0.228" />
|
||||
<Char code="8182" width="0.667" height="0.628" depth="0.011" />
|
||||
<Char code="8183" width="0.667" height="0.628" depth="0.228" />
|
||||
<Char code="8188" width="0.722" height="0.706" depth="0.228" />
|
||||
<Char code="8190" width="0.222" height="0.696" >
|
||||
<Kern code="913" val="-0.167"/>
|
||||
<Kern code="927" val="-0.056"/>
|
||||
<Kern code="937" val="-0.028"/>
|
||||
<Kern code="8124" val="-0.167"/>
|
||||
<Kern code="8188" val="-0.028"/>
|
||||
</Char>
|
||||
<Char code="8217" width="0.278" height="0.695" >
|
||||
</Char>
|
||||
<Char code="9001" width="0.389" height="0.751" depth="0.249" />
|
||||
<Char code="9002" width="0.389" height="0.751" depth="0.25" />
|
||||
</Font>
|
||||
BIN
3rdparty/MicroTeX/res/greek/fcsbpg.ttf
vendored
Normal file
BIN
3rdparty/MicroTeX/res/greek/fcsbpg.ttf
vendored
Normal file
Binary file not shown.
551
3rdparty/MicroTeX/res/greek/fcsbpg.xml
vendored
Normal file
551
3rdparty/MicroTeX/res/greek/fcsbpg.xml
vendored
Normal file
@ -0,0 +1,551 @@
|
||||
<?xml version='1.0'?>
|
||||
<Font name="fcsbpg.ttf" id="fcsbpg" space="0.255" xHeight="0.472" quad="1" unicode="204" itVersion="fcsropg" romanVersion="fcmbpg" ttVersion="fctrpg">
|
||||
<Char code="32" width="0.255" height="0.0" />
|
||||
<Char code="168" width="0.244" height="0.63" italic="0.056" />
|
||||
<Char code="884" width="0.214" height="0.695" />
|
||||
<Char code="885" width="0.214" height="0.001" depth="0.188" />
|
||||
<Char code="890" width="0.122" height="-0.067" depth="0.247" />
|
||||
<Char code="900" width="0.183" height="0.695" >
|
||||
<Kern code="913" val="-0.122"/>
|
||||
<Kern code="927" val="-0.061"/>
|
||||
<Kern code="937" val="-0.031"/>
|
||||
<Kern code="8124" val="-0.122"/>
|
||||
<Kern code="8188" val="-0.031"/>
|
||||
</Char>
|
||||
<Char code="901" width="0.305" height="0.695" />
|
||||
<Char code="903" width="0.305" height="0.459" />
|
||||
<Char code="912" width="0.275" height="0.695" depth="0.01" >
|
||||
<Kern code="947" val="-0.031"/>
|
||||
<Kern code="951" val="-0.018"/>
|
||||
<Kern code="952" val="-0.018"/>
|
||||
<Kern code="957" val="-0.061"/>
|
||||
<Kern code="959" val="-0.031"/>
|
||||
<Kern code="962" val="-0.031"/>
|
||||
<Kern code="963" val="-0.031"/>
|
||||
<Kern code="964" val="-0.031"/>
|
||||
<Kern code="967" val="-0.031"/>
|
||||
</Char>
|
||||
<Char code="913" width="0.733" height="0.687" >
|
||||
<Kern code="920" val="-0.092"/>
|
||||
<Kern code="927" val="-0.092"/>
|
||||
<Kern code="932" val="-0.092"/>
|
||||
<Kern code="933" val="-0.153"/>
|
||||
<Kern code="934" val="-0.092"/>
|
||||
<Kern code="936" val="-0.134"/>
|
||||
<Kern code="939" val="-0.153"/>
|
||||
</Char>
|
||||
<Char code="914" width="0.733" height="0.687" />
|
||||
<Char code="915" width="0.58" height="0.684" >
|
||||
<Kern code="913" val="-0.147"/>
|
||||
<Kern code="916" val="-0.122"/>
|
||||
<Kern code="923" val="-0.134"/>
|
||||
<Kern code="8124" val="-0.147"/>
|
||||
</Char>
|
||||
<Char code="916" width="0.916" height="0.687" >
|
||||
<Kern code="927" val="-0.037"/>
|
||||
<Kern code="933" val="-0.153"/>
|
||||
<Kern code="939" val="-0.153"/>
|
||||
</Char>
|
||||
<Char code="917" width="0.642" height="0.684" />
|
||||
<Char code="918" width="0.672" height="0.687" />
|
||||
<Char code="919" width="0.794" height="0.687" />
|
||||
<Char code="920" width="0.855" height="0.709" depth="0.022" >
|
||||
<Kern code="913" val="-0.092"/>
|
||||
<Kern code="8124" val="-0.092"/>
|
||||
</Char>
|
||||
<Char code="921" width="0.308" height="0.687" />
|
||||
<Char code="922" width="0.764" height="0.687" >
|
||||
<Kern code="927" val="-0.092"/>
|
||||
</Char>
|
||||
<Char code="923" width="0.672" height="0.687" >
|
||||
<Kern code="927" val="-0.037"/>
|
||||
<Kern code="933" val="-0.11"/>
|
||||
<Kern code="939" val="-0.11"/>
|
||||
</Char>
|
||||
<Char code="924" width="0.978" height="0.687" />
|
||||
<Char code="925" width="0.794" height="0.687" >
|
||||
<Kern code="913" val="-0.092"/>
|
||||
<Kern code="8124" val="-0.092"/>
|
||||
</Char>
|
||||
<Char code="926" width="0.733" height="0.681" />
|
||||
<Char code="927" width="0.794" height="0.71" depth="0.022" >
|
||||
<Kern code="913" val="-0.092"/>
|
||||
<Kern code="931" val="-0.061"/>
|
||||
<Kern code="8124" val="-0.092"/>
|
||||
</Char>
|
||||
<Char code="928" width="0.794" height="0.684" />
|
||||
<Char code="929" width="0.703" height="0.687" >
|
||||
<Kern code="913" val="-0.183"/>
|
||||
<Kern code="8124" val="-0.183"/>
|
||||
</Char>
|
||||
<Char code="931" width="0.794" height="0.687" >
|
||||
<Kern code="913" val="-0.031"/>
|
||||
<Kern code="8124" val="-0.031"/>
|
||||
</Char>
|
||||
<Char code="932" width="0.733" height="0.681" >
|
||||
<Kern code="913" val="-0.092"/>
|
||||
<Kern code="8124" val="-0.092"/>
|
||||
</Char>
|
||||
<Char code="933" width="0.855" height="0.709" >
|
||||
<Kern code="913" val="-0.153"/>
|
||||
<Kern code="916" val="-0.153"/>
|
||||
<Kern code="923" val="-0.153"/>
|
||||
<Kern code="8124" val="-0.153"/>
|
||||
</Char>
|
||||
<Char code="934" width="0.794" height="0.687" >
|
||||
<Kern code="913" val="-0.092"/>
|
||||
<Kern code="8124" val="-0.092"/>
|
||||
</Char>
|
||||
<Char code="935" width="0.733" height="0.687" />
|
||||
<Char code="936" width="0.855" height="0.687" >
|
||||
<Kern code="913" val="-0.134"/>
|
||||
<Kern code="8124" val="-0.134"/>
|
||||
</Char>
|
||||
<Char code="937" width="0.794" height="0.709" />
|
||||
<Char code="938" width="0.308" height="0.847" italic="0.01" />
|
||||
<Char code="939" width="0.855" height="0.847" >
|
||||
<Kern code="913" val="-0.153"/>
|
||||
<Kern code="916" val="-0.153"/>
|
||||
<Kern code="923" val="-0.153"/>
|
||||
<Kern code="8124" val="-0.153"/>
|
||||
</Char>
|
||||
<Char code="940" width="0.55" height="0.695" depth="0.011" italic="0.061" />
|
||||
<Char code="941" width="0.473" height="0.695" depth="0.022" />
|
||||
<Char code="942" width="0.55" height="0.695" depth="0.272" />
|
||||
<Char code="943" width="0.275" height="0.695" depth="0.01" >
|
||||
<Kern code="947" val="-0.031"/>
|
||||
<Kern code="951" val="-0.018"/>
|
||||
<Kern code="952" val="-0.018"/>
|
||||
<Kern code="957" val="-0.061"/>
|
||||
<Kern code="959" val="-0.031"/>
|
||||
<Kern code="962" val="-0.031"/>
|
||||
<Kern code="963" val="-0.031"/>
|
||||
<Kern code="964" val="-0.031"/>
|
||||
<Kern code="967" val="-0.031"/>
|
||||
</Char>
|
||||
<Char code="944" width="0.55" height="0.695" depth="0.011" />
|
||||
<Char code="945" width="0.55" height="0.471" depth="0.011" italic="0.061" />
|
||||
<Char code="946" width="0.55" height="0.706" depth="0.271" />
|
||||
<Char code="947" width="0.611" height="0.471" depth="0.228" />
|
||||
<Char code="948" width="0.519" height="0.707" depth="0.011" />
|
||||
<Char code="949" width="0.473" height="0.482" depth="0.022" />
|
||||
<Char code="950" width="0.519" height="0.718" depth="0.186" />
|
||||
<Char code="951" width="0.55" height="0.482" depth="0.272" />
|
||||
<Char code="952" width="0.626" height="0.706" depth="0.011" />
|
||||
<Char code="953" width="0.275" height="0.47" depth="0.01" >
|
||||
<Kern code="947" val="-0.031"/>
|
||||
<Kern code="951" val="-0.018"/>
|
||||
<Kern code="952" val="-0.018"/>
|
||||
<Kern code="957" val="-0.061"/>
|
||||
<Kern code="959" val="-0.031"/>
|
||||
<Kern code="962" val="-0.031"/>
|
||||
<Kern code="963" val="-0.031"/>
|
||||
<Kern code="964" val="-0.031"/>
|
||||
<Kern code="967" val="-0.031"/>
|
||||
</Char>
|
||||
<Char code="954" width="0.58" height="0.487" depth="0.027" />
|
||||
<Char code="955" width="0.55" height="0.697" depth="0.01" />
|
||||
<Char code="956" width="0.586" height="0.482" depth="0.266" italic="0.001" />
|
||||
<Char code="957" width="0.519" height="0.472" depth="0.01" />
|
||||
<Char code="958" width="0.519" height="0.718" depth="0.186" />
|
||||
<Char code="959" width="0.58" height="0.471" depth="0.011" >
|
||||
<Kern code="947" val="-0.031"/>
|
||||
<Kern code="955" val="-0.031"/>
|
||||
<Kern code="957" val="-0.024"/>
|
||||
<Kern code="964" val="-0.024"/>
|
||||
<Kern code="967" val="-0.031"/>
|
||||
</Char>
|
||||
<Char code="960" width="0.565" height="0.459" depth="0.011" italic="0.027" />
|
||||
<Char code="961" width="0.519" height="0.471" depth="0.266" />
|
||||
<Char code="962" width="0.489" height="0.471" depth="0.125" />
|
||||
<Char code="963" width="0.626" height="0.459" depth="0.012" />
|
||||
<Char code="964" width="0.504" height="0.46" depth="0.011" >
|
||||
<Kern code="940" val="-0.031"/>
|
||||
<Kern code="945" val="-0.031"/>
|
||||
<Kern code="959" val="-0.031"/>
|
||||
<Kern code="969" val="-0.031"/>
|
||||
<Kern code="972" val="-0.031"/>
|
||||
<Kern code="974" val="-0.031"/>
|
||||
<Kern code="7936" val="-0.031"/>
|
||||
<Kern code="7937" val="-0.031"/>
|
||||
<Kern code="7940" val="-0.031"/>
|
||||
<Kern code="7941" val="-0.031"/>
|
||||
<Kern code="7942" val="-0.031"/>
|
||||
<Kern code="7943" val="-0.031"/>
|
||||
<Kern code="8000" val="-0.031"/>
|
||||
<Kern code="8001" val="-0.031"/>
|
||||
<Kern code="8004" val="-0.031"/>
|
||||
<Kern code="8005" val="-0.031"/>
|
||||
<Kern code="8032" val="-0.031"/>
|
||||
<Kern code="8033" val="-0.031"/>
|
||||
<Kern code="8036" val="-0.031"/>
|
||||
<Kern code="8037" val="-0.031"/>
|
||||
<Kern code="8038" val="-0.031"/>
|
||||
<Kern code="8039" val="-0.031"/>
|
||||
<Kern code="8048" val="-0.031"/>
|
||||
<Kern code="8056" val="-0.031"/>
|
||||
<Kern code="8060" val="-0.031"/>
|
||||
<Kern code="8064" val="-0.031"/>
|
||||
<Kern code="8065" val="-0.031"/>
|
||||
<Kern code="8068" val="-0.031"/>
|
||||
<Kern code="8069" val="-0.031"/>
|
||||
<Kern code="8070" val="-0.031"/>
|
||||
<Kern code="8071" val="-0.031"/>
|
||||
<Kern code="8096" val="-0.031"/>
|
||||
<Kern code="8097" val="-0.031"/>
|
||||
<Kern code="8100" val="-0.031"/>
|
||||
<Kern code="8101" val="-0.031"/>
|
||||
<Kern code="8102" val="-0.031"/>
|
||||
<Kern code="8103" val="-0.031"/>
|
||||
<Kern code="8114" val="-0.031"/>
|
||||
<Kern code="8116" val="-0.031"/>
|
||||
<Kern code="8118" val="-0.031"/>
|
||||
<Kern code="8119" val="-0.031"/>
|
||||
<Kern code="8178" val="-0.031"/>
|
||||
<Kern code="8180" val="-0.031"/>
|
||||
<Kern code="8182" val="-0.031"/>
|
||||
<Kern code="8183" val="-0.031"/>
|
||||
</Char>
|
||||
<Char code="965" width="0.55" height="0.492" depth="0.01" />
|
||||
<Char code="966" width="0.642" height="0.486" depth="0.272" />
|
||||
<Char code="967" width="0.611" height="0.473" depth="0.263" />
|
||||
<Char code="968" width="0.642" height="0.718" depth="0.272" />
|
||||
<Char code="969" width="0.733" height="0.481" depth="0.011" />
|
||||
<Char code="970" width="0.275" height="0.641" depth="0.01" italic="0.001" >
|
||||
<Kern code="947" val="-0.031"/>
|
||||
<Kern code="951" val="-0.018"/>
|
||||
<Kern code="952" val="-0.018"/>
|
||||
<Kern code="957" val="-0.061"/>
|
||||
<Kern code="959" val="-0.031"/>
|
||||
<Kern code="962" val="-0.031"/>
|
||||
<Kern code="963" val="-0.031"/>
|
||||
<Kern code="964" val="-0.031"/>
|
||||
<Kern code="967" val="-0.031"/>
|
||||
</Char>
|
||||
<Char code="971" width="0.55" height="0.64" depth="0.01" />
|
||||
<Char code="972" width="0.58" height="0.695" depth="0.011" >
|
||||
<Kern code="947" val="-0.031"/>
|
||||
<Kern code="955" val="-0.031"/>
|
||||
<Kern code="957" val="-0.024"/>
|
||||
<Kern code="964" val="-0.024"/>
|
||||
<Kern code="967" val="-0.031"/>
|
||||
</Char>
|
||||
<Char code="973" width="0.55" height="0.695" depth="0.01" />
|
||||
<Char code="974" width="0.733" height="0.695" depth="0.011" />
|
||||
<Char code="984" width="0.55" height="0.698" />
|
||||
<Char code="985" width="0.55" height="0.646" depth="0.077" />
|
||||
<Char code="986" width="0.855" height="0.682" depth="0.001" />
|
||||
<Char code="987" width="0.55" height="0.481" />
|
||||
<Char code="988" width="0.611" height="0.684" />
|
||||
<Char code="989" width="0.55" height="0.461" depth="0.249" />
|
||||
<Char code="991" width="0.428" height="0.577" depth="0.075" />
|
||||
<Char code="992" width="0.703" height="0.686" />
|
||||
<Char code="993" width="0.794" height="0.695" />
|
||||
<Char code="7936" width="0.55" height="0.696" depth="0.011" italic="0.061" />
|
||||
<Char code="7937" width="0.55" height="0.696" depth="0.011" italic="0.061" />
|
||||
<Char code="7938" width="0.55" height="0.696" depth="0.011" italic="0.061" />
|
||||
<Char code="7939" width="0.55" height="0.696" depth="0.011" italic="0.061" />
|
||||
<Char code="7940" width="0.55" height="0.696" depth="0.011" italic="0.061" />
|
||||
<Char code="7941" width="0.55" height="0.696" depth="0.011" italic="0.061" />
|
||||
<Char code="7942" width="0.55" height="0.695" depth="0.011" italic="0.061" />
|
||||
<Char code="7943" width="0.55" height="0.695" depth="0.011" italic="0.061" />
|
||||
<Char code="7952" width="0.473" height="0.696" depth="0.022" />
|
||||
<Char code="7953" width="0.473" height="0.696" depth="0.022" />
|
||||
<Char code="7954" width="0.473" height="0.696" depth="0.022" />
|
||||
<Char code="7955" width="0.473" height="0.696" depth="0.022" />
|
||||
<Char code="7956" width="0.473" height="0.696" depth="0.022" />
|
||||
<Char code="7957" width="0.473" height="0.696" depth="0.022" />
|
||||
<Char code="7968" width="0.55" height="0.696" depth="0.272" />
|
||||
<Char code="7969" width="0.55" height="0.696" depth="0.272" />
|
||||
<Char code="7970" width="0.55" height="0.696" depth="0.272" />
|
||||
<Char code="7971" width="0.55" height="0.696" depth="0.272" />
|
||||
<Char code="7972" width="0.55" height="0.696" depth="0.272" />
|
||||
<Char code="7973" width="0.55" height="0.696" depth="0.272" />
|
||||
<Char code="7974" width="0.55" height="0.695" depth="0.272" />
|
||||
<Char code="7975" width="0.55" height="0.695" depth="0.272" />
|
||||
<Char code="7984" width="0.275" height="0.696" depth="0.01" >
|
||||
<Kern code="947" val="-0.031"/>
|
||||
<Kern code="951" val="-0.018"/>
|
||||
<Kern code="952" val="-0.018"/>
|
||||
<Kern code="957" val="-0.061"/>
|
||||
<Kern code="959" val="-0.031"/>
|
||||
<Kern code="962" val="-0.031"/>
|
||||
<Kern code="963" val="-0.031"/>
|
||||
<Kern code="964" val="-0.031"/>
|
||||
<Kern code="967" val="-0.031"/>
|
||||
</Char>
|
||||
<Char code="7985" width="0.275" height="0.696" depth="0.01" >
|
||||
<Kern code="947" val="-0.031"/>
|
||||
<Kern code="951" val="-0.018"/>
|
||||
<Kern code="952" val="-0.018"/>
|
||||
<Kern code="957" val="-0.061"/>
|
||||
<Kern code="959" val="-0.031"/>
|
||||
<Kern code="962" val="-0.031"/>
|
||||
<Kern code="963" val="-0.031"/>
|
||||
<Kern code="964" val="-0.031"/>
|
||||
<Kern code="967" val="-0.031"/>
|
||||
</Char>
|
||||
<Char code="7986" width="0.275" height="0.696" depth="0.01" />
|
||||
<Char code="7987" width="0.275" height="0.696" depth="0.01" />
|
||||
<Char code="7988" width="0.275" height="0.696" depth="0.01" >
|
||||
<Kern code="947" val="-0.031"/>
|
||||
<Kern code="951" val="-0.018"/>
|
||||
<Kern code="952" val="-0.018"/>
|
||||
<Kern code="957" val="-0.061"/>
|
||||
<Kern code="959" val="-0.031"/>
|
||||
<Kern code="962" val="-0.031"/>
|
||||
<Kern code="963" val="-0.031"/>
|
||||
<Kern code="964" val="-0.031"/>
|
||||
<Kern code="967" val="-0.031"/>
|
||||
</Char>
|
||||
<Char code="7989" width="0.275" height="0.696" depth="0.01" >
|
||||
<Kern code="947" val="-0.031"/>
|
||||
<Kern code="951" val="-0.018"/>
|
||||
<Kern code="952" val="-0.018"/>
|
||||
<Kern code="957" val="-0.061"/>
|
||||
<Kern code="959" val="-0.031"/>
|
||||
<Kern code="962" val="-0.031"/>
|
||||
<Kern code="963" val="-0.031"/>
|
||||
<Kern code="964" val="-0.031"/>
|
||||
<Kern code="967" val="-0.031"/>
|
||||
</Char>
|
||||
<Char code="7990" width="0.275" height="0.696" depth="0.01" italic="0.016" >
|
||||
<Kern code="947" val="-0.031"/>
|
||||
<Kern code="951" val="-0.018"/>
|
||||
<Kern code="952" val="-0.018"/>
|
||||
<Kern code="957" val="-0.061"/>
|
||||
<Kern code="959" val="-0.031"/>
|
||||
<Kern code="962" val="-0.031"/>
|
||||
<Kern code="963" val="-0.031"/>
|
||||
<Kern code="964" val="-0.031"/>
|
||||
<Kern code="967" val="-0.031"/>
|
||||
</Char>
|
||||
<Char code="7991" width="0.275" height="0.696" depth="0.01" italic="0.016" >
|
||||
<Kern code="947" val="-0.031"/>
|
||||
<Kern code="951" val="-0.018"/>
|
||||
<Kern code="952" val="-0.018"/>
|
||||
<Kern code="957" val="-0.061"/>
|
||||
<Kern code="959" val="-0.031"/>
|
||||
<Kern code="962" val="-0.031"/>
|
||||
<Kern code="963" val="-0.031"/>
|
||||
<Kern code="964" val="-0.031"/>
|
||||
<Kern code="967" val="-0.031"/>
|
||||
</Char>
|
||||
<Char code="8000" width="0.58" height="0.696" depth="0.011" >
|
||||
<Kern code="947" val="-0.031"/>
|
||||
<Kern code="955" val="-0.031"/>
|
||||
<Kern code="957" val="-0.024"/>
|
||||
<Kern code="964" val="-0.024"/>
|
||||
<Kern code="967" val="-0.031"/>
|
||||
</Char>
|
||||
<Char code="8001" width="0.58" height="0.696" depth="0.011" >
|
||||
<Kern code="947" val="-0.031"/>
|
||||
<Kern code="955" val="-0.031"/>
|
||||
<Kern code="957" val="-0.024"/>
|
||||
<Kern code="964" val="-0.024"/>
|
||||
<Kern code="967" val="-0.031"/>
|
||||
</Char>
|
||||
<Char code="8002" width="0.58" height="0.696" depth="0.011" />
|
||||
<Char code="8003" width="0.58" height="0.696" depth="0.011" />
|
||||
<Char code="8004" width="0.58" height="0.696" depth="0.011" >
|
||||
<Kern code="947" val="-0.031"/>
|
||||
<Kern code="955" val="-0.031"/>
|
||||
<Kern code="957" val="-0.024"/>
|
||||
<Kern code="964" val="-0.024"/>
|
||||
<Kern code="967" val="-0.031"/>
|
||||
</Char>
|
||||
<Char code="8005" width="0.58" height="0.696" depth="0.011" >
|
||||
<Kern code="947" val="-0.031"/>
|
||||
<Kern code="955" val="-0.031"/>
|
||||
<Kern code="957" val="-0.024"/>
|
||||
<Kern code="964" val="-0.024"/>
|
||||
<Kern code="967" val="-0.031"/>
|
||||
</Char>
|
||||
<Char code="8016" width="0.55" height="0.696" depth="0.01" />
|
||||
<Char code="8017" width="0.55" height="0.696" depth="0.01" />
|
||||
<Char code="8018" width="0.55" height="0.696" depth="0.01" />
|
||||
<Char code="8019" width="0.55" height="0.696" depth="0.01" />
|
||||
<Char code="8020" width="0.55" height="0.696" depth="0.01" />
|
||||
<Char code="8021" width="0.55" height="0.696" depth="0.01" />
|
||||
<Char code="8022" width="0.55" height="0.695" depth="0.01" />
|
||||
<Char code="8023" width="0.55" height="0.695" depth="0.01" />
|
||||
<Char code="8032" width="0.733" height="0.696" depth="0.011" />
|
||||
<Char code="8033" width="0.733" height="0.696" depth="0.011" />
|
||||
<Char code="8034" width="0.733" height="0.696" depth="0.011" />
|
||||
<Char code="8035" width="0.733" height="0.696" depth="0.011" />
|
||||
<Char code="8036" width="0.733" height="0.696" depth="0.011" />
|
||||
<Char code="8037" width="0.733" height="0.696" depth="0.011" />
|
||||
<Char code="8038" width="0.733" height="0.695" depth="0.011" />
|
||||
<Char code="8039" width="0.733" height="0.695" depth="0.011" />
|
||||
<Char code="8048" width="0.55" height="0.695" depth="0.011" italic="0.061" />
|
||||
<Char code="8050" width="0.473" height="0.695" depth="0.022" />
|
||||
<Char code="8052" width="0.55" height="0.695" depth="0.272" />
|
||||
<Char code="8054" width="0.275" height="0.695" depth="0.01" >
|
||||
<Kern code="947" val="-0.031"/>
|
||||
<Kern code="951" val="-0.018"/>
|
||||
<Kern code="952" val="-0.018"/>
|
||||
<Kern code="957" val="-0.061"/>
|
||||
<Kern code="959" val="-0.031"/>
|
||||
<Kern code="962" val="-0.031"/>
|
||||
<Kern code="963" val="-0.031"/>
|
||||
<Kern code="964" val="-0.031"/>
|
||||
<Kern code="967" val="-0.031"/>
|
||||
</Char>
|
||||
<Char code="8056" width="0.58" height="0.695" depth="0.011" >
|
||||
<Kern code="947" val="-0.031"/>
|
||||
<Kern code="955" val="-0.031"/>
|
||||
<Kern code="957" val="-0.024"/>
|
||||
<Kern code="964" val="-0.024"/>
|
||||
<Kern code="967" val="-0.031"/>
|
||||
</Char>
|
||||
<Char code="8058" width="0.55" height="0.695" depth="0.01" />
|
||||
<Char code="8060" width="0.733" height="0.695" depth="0.011" />
|
||||
<Char code="8064" width="0.55" height="0.696" depth="0.247" italic="0.061" />
|
||||
<Char code="8065" width="0.55" height="0.696" depth="0.247" italic="0.061" />
|
||||
<Char code="8066" width="0.55" height="0.696" depth="0.247" italic="0.061" />
|
||||
<Char code="8067" width="0.55" height="0.696" depth="0.247" italic="0.061" />
|
||||
<Char code="8068" width="0.55" height="0.696" depth="0.247" italic="0.061" />
|
||||
<Char code="8069" width="0.55" height="0.696" depth="0.247" italic="0.061" />
|
||||
<Char code="8070" width="0.55" height="0.695" depth="0.247" italic="0.061" />
|
||||
<Char code="8071" width="0.55" height="0.695" depth="0.247" italic="0.061" />
|
||||
<Char code="8080" width="0.55" height="0.696" depth="0.272" />
|
||||
<Char code="8081" width="0.55" height="0.696" depth="0.272" />
|
||||
<Char code="8082" width="0.55" height="0.696" depth="0.272" />
|
||||
<Char code="8083" width="0.55" height="0.696" depth="0.272" />
|
||||
<Char code="8084" width="0.55" height="0.696" depth="0.272" />
|
||||
<Char code="8085" width="0.55" height="0.696" depth="0.272" />
|
||||
<Char code="8086" width="0.55" height="0.695" depth="0.272" />
|
||||
<Char code="8087" width="0.55" height="0.695" depth="0.272" />
|
||||
<Char code="8096" width="0.733" height="0.696" depth="0.247" />
|
||||
<Char code="8097" width="0.733" height="0.696" depth="0.247" />
|
||||
<Char code="8098" width="0.733" height="0.696" depth="0.247" />
|
||||
<Char code="8099" width="0.733" height="0.696" depth="0.247" />
|
||||
<Char code="8100" width="0.733" height="0.696" depth="0.247" />
|
||||
<Char code="8101" width="0.733" height="0.696" depth="0.247" />
|
||||
<Char code="8102" width="0.733" height="0.695" depth="0.247" />
|
||||
<Char code="8103" width="0.733" height="0.695" depth="0.247" />
|
||||
<Char code="8114" width="0.55" height="0.695" depth="0.247" italic="0.061" />
|
||||
<Char code="8115" width="0.55" height="0.471" depth="0.247" italic="0.061" />
|
||||
<Char code="8116" width="0.55" height="0.695" depth="0.247" italic="0.061" />
|
||||
<Char code="8118" width="0.55" height="0.64" depth="0.011" italic="0.061" />
|
||||
<Char code="8119" width="0.55" height="0.64" depth="0.247" italic="0.061" />
|
||||
<Char code="8124" width="0.733" height="0.687" depth="0.247" >
|
||||
<Kern code="920" val="-0.092"/>
|
||||
<Kern code="927" val="-0.092"/>
|
||||
<Kern code="932" val="-0.092"/>
|
||||
<Kern code="933" val="-0.153"/>
|
||||
<Kern code="934" val="-0.092"/>
|
||||
<Kern code="936" val="-0.134"/>
|
||||
<Kern code="939" val="-0.153"/>
|
||||
</Char>
|
||||
<Char code="8126" width="0.244" height="0.155" depth="0.153" />
|
||||
<Char code="8127" width="0.244" height="0.696" >
|
||||
<Kern code="913" val="-0.153"/>
|
||||
<Kern code="927" val="-0.061"/>
|
||||
<Kern code="937" val="-0.031"/>
|
||||
<Kern code="8124" val="-0.153"/>
|
||||
<Kern code="8188" val="-0.031"/>
|
||||
</Char>
|
||||
<Char code="8128" width="0.367" height="0.64" >
|
||||
<Kern code="913" val="-0.122"/>
|
||||
<Kern code="8124" val="-0.122"/>
|
||||
</Char>
|
||||
<Char code="8129" width="0.489" height="0.696" />
|
||||
<Char code="8130" width="0.55" height="0.695" depth="0.272" />
|
||||
<Char code="8131" width="0.55" height="0.482" depth="0.272" />
|
||||
<Char code="8132" width="0.55" height="0.695" depth="0.272" />
|
||||
<Char code="8134" width="0.55" height="0.64" depth="0.272" />
|
||||
<Char code="8135" width="0.55" height="0.64" depth="0.272" />
|
||||
<Char code="8140" width="0.794" height="0.687" depth="0.247" />
|
||||
<Char code="8141" width="0.305" height="0.696" >
|
||||
<Kern code="913" val="-0.092"/>
|
||||
<Kern code="927" val="-0.031"/>
|
||||
<Kern code="8124" val="-0.092"/>
|
||||
</Char>
|
||||
<Char code="8142" width="0.305" height="0.696" >
|
||||
<Kern code="913" val="-0.092"/>
|
||||
<Kern code="927" val="-0.031"/>
|
||||
<Kern code="8124" val="-0.092"/>
|
||||
</Char>
|
||||
<Char code="8143" width="0.367" height="0.696" >
|
||||
<Kern code="913" val="-0.122"/>
|
||||
<Kern code="8124" val="-0.122"/>
|
||||
</Char>
|
||||
<Char code="8146" width="0.275" height="0.695" depth="0.01" >
|
||||
<Kern code="947" val="-0.031"/>
|
||||
<Kern code="951" val="-0.018"/>
|
||||
<Kern code="952" val="-0.018"/>
|
||||
<Kern code="957" val="-0.061"/>
|
||||
<Kern code="959" val="-0.031"/>
|
||||
<Kern code="962" val="-0.031"/>
|
||||
<Kern code="963" val="-0.031"/>
|
||||
<Kern code="964" val="-0.031"/>
|
||||
<Kern code="967" val="-0.031"/>
|
||||
</Char>
|
||||
<Char code="8150" width="0.275" height="0.64" depth="0.01" italic="0.016" >
|
||||
<Kern code="947" val="-0.031"/>
|
||||
<Kern code="951" val="-0.018"/>
|
||||
<Kern code="952" val="-0.018"/>
|
||||
<Kern code="957" val="-0.061"/>
|
||||
<Kern code="959" val="-0.031"/>
|
||||
<Kern code="962" val="-0.031"/>
|
||||
<Kern code="963" val="-0.031"/>
|
||||
<Kern code="964" val="-0.031"/>
|
||||
<Kern code="967" val="-0.031"/>
|
||||
</Char>
|
||||
<Char code="8151" width="0.275" height="0.696" depth="0.01" italic="0.016" >
|
||||
<Kern code="947" val="-0.031"/>
|
||||
<Kern code="951" val="-0.018"/>
|
||||
<Kern code="952" val="-0.018"/>
|
||||
<Kern code="957" val="-0.061"/>
|
||||
<Kern code="959" val="-0.031"/>
|
||||
<Kern code="962" val="-0.031"/>
|
||||
<Kern code="963" val="-0.031"/>
|
||||
<Kern code="964" val="-0.031"/>
|
||||
<Kern code="967" val="-0.031"/>
|
||||
</Char>
|
||||
<Char code="8157" width="0.305" height="0.696" >
|
||||
<Kern code="913" val="-0.092"/>
|
||||
<Kern code="927" val="-0.031"/>
|
||||
<Kern code="8124" val="-0.092"/>
|
||||
</Char>
|
||||
<Char code="8158" width="0.305" height="0.696" >
|
||||
<Kern code="913" val="-0.092"/>
|
||||
<Kern code="927" val="-0.031"/>
|
||||
<Kern code="8124" val="-0.092"/>
|
||||
</Char>
|
||||
<Char code="8159" width="0.367" height="0.696" >
|
||||
<Kern code="913" val="-0.122"/>
|
||||
<Kern code="8124" val="-0.122"/>
|
||||
</Char>
|
||||
<Char code="8162" width="0.55" height="0.695" depth="0.01" />
|
||||
<Char code="8164" width="0.519" height="0.696" depth="0.266" />
|
||||
<Char code="8165" width="0.519" height="0.696" depth="0.266" />
|
||||
<Char code="8166" width="0.55" height="0.64" depth="0.01" />
|
||||
<Char code="8167" width="0.55" height="0.695" depth="0.01" />
|
||||
<Char code="8173" width="0.305" height="0.695" />
|
||||
<Char code="8175" width="0.183" height="0.695" >
|
||||
<Kern code="913" val="-0.122"/>
|
||||
<Kern code="927" val="-0.061"/>
|
||||
<Kern code="937" val="-0.031"/>
|
||||
<Kern code="8124" val="-0.122"/>
|
||||
<Kern code="8188" val="-0.031"/>
|
||||
</Char>
|
||||
<Char code="8178" width="0.733" height="0.695" depth="0.247" />
|
||||
<Char code="8179" width="0.733" height="0.481" depth="0.247" />
|
||||
<Char code="8180" width="0.733" height="0.695" depth="0.247" />
|
||||
<Char code="8182" width="0.733" height="0.641" depth="0.011" />
|
||||
<Char code="8183" width="0.733" height="0.641" depth="0.247" />
|
||||
<Char code="8188" width="0.794" height="0.709" depth="0.247" />
|
||||
<Char code="8190" width="0.244" height="0.696" >
|
||||
<Kern code="913" val="-0.183"/>
|
||||
<Kern code="927" val="-0.061"/>
|
||||
<Kern code="937" val="-0.031"/>
|
||||
<Kern code="8124" val="-0.183"/>
|
||||
<Kern code="8188" val="-0.031"/>
|
||||
</Char>
|
||||
<Char code="8217" width="0.305" height="0.696" >
|
||||
</Char>
|
||||
<Char code="9001" width="0.428" height="0.751" depth="0.25" />
|
||||
<Char code="9002" width="0.428" height="0.751" depth="0.25" />
|
||||
</Font>
|
||||
BIN
3rdparty/MicroTeX/res/greek/fcsropg.ttf
vendored
Normal file
BIN
3rdparty/MicroTeX/res/greek/fcsropg.ttf
vendored
Normal file
Binary file not shown.
551
3rdparty/MicroTeX/res/greek/fcsropg.xml
vendored
Normal file
551
3rdparty/MicroTeX/res/greek/fcsropg.xml
vendored
Normal file
@ -0,0 +1,551 @@
|
||||
<?xml version='1.0'?>
|
||||
<Font name="fcsropg.ttf" id="fcsropg" space="0.239" xHeight="0.444" quad="1" unicode="204" romanVersion="fcmripg" boldVersion="fcsbpg" ttVersion="fctrpg">
|
||||
<Char code="32" width="0.239" height="0.0" />
|
||||
<Char code="168" width="0.222" height="0.603" italic="0.17" />
|
||||
<Char code="884" width="0.194" height="0.695" italic="0.14" />
|
||||
<Char code="885" width="0.194" height="0.001" depth="0.21" italic="0.003" />
|
||||
<Char code="890" width="0.111" height="-0.064" depth="0.238" />
|
||||
<Char code="900" width="0.167" height="0.695" italic="0.145" >
|
||||
<Kern code="913" val="-0.111"/>
|
||||
<Kern code="927" val="-0.056"/>
|
||||
<Kern code="937" val="-0.028"/>
|
||||
<Kern code="8124" val="-0.111"/>
|
||||
<Kern code="8188" val="-0.028"/>
|
||||
</Char>
|
||||
<Char code="901" width="0.278" height="0.695" italic="0.117" />
|
||||
<Char code="903" width="0.278" height="0.431" />
|
||||
<Char code="912" width="0.25" height="0.695" depth="0.011" italic="0.099" >
|
||||
<Kern code="947" val="-0.028"/>
|
||||
<Kern code="951" val="-0.017"/>
|
||||
<Kern code="952" val="-0.017"/>
|
||||
<Kern code="957" val="-0.056"/>
|
||||
<Kern code="959" val="-0.028"/>
|
||||
<Kern code="962" val="-0.028"/>
|
||||
<Kern code="963" val="-0.028"/>
|
||||
<Kern code="964" val="-0.028"/>
|
||||
<Kern code="967" val="-0.028"/>
|
||||
</Char>
|
||||
<Char code="913" width="0.667" height="0.685" >
|
||||
<Kern code="920" val="-0.083"/>
|
||||
<Kern code="927" val="-0.083"/>
|
||||
<Kern code="932" val="-0.083"/>
|
||||
<Kern code="933" val="-0.139"/>
|
||||
<Kern code="934" val="-0.083"/>
|
||||
<Kern code="936" val="-0.122"/>
|
||||
<Kern code="939" val="-0.139"/>
|
||||
</Char>
|
||||
<Char code="914" width="0.667" height="0.685" italic="0.028" />
|
||||
<Char code="915" width="0.542" height="0.681" italic="0.101" >
|
||||
<Kern code="913" val="-0.133"/>
|
||||
<Kern code="916" val="-0.111"/>
|
||||
<Kern code="923" val="-0.122"/>
|
||||
<Kern code="8124" val="-0.133"/>
|
||||
</Char>
|
||||
<Char code="916" width="0.833" height="0.684" >
|
||||
<Kern code="927" val="-0.033"/>
|
||||
<Kern code="933" val="-0.139"/>
|
||||
<Kern code="939" val="-0.139"/>
|
||||
</Char>
|
||||
<Char code="917" width="0.597" height="0.681" italic="0.088" />
|
||||
<Char code="918" width="0.611" height="0.684" italic="0.089" />
|
||||
<Char code="919" width="0.708" height="0.684" italic="0.049" />
|
||||
<Char code="920" width="0.778" height="0.707" depth="0.022" italic="0.026" >
|
||||
<Kern code="913" val="-0.083"/>
|
||||
<Kern code="8124" val="-0.083"/>
|
||||
</Char>
|
||||
<Char code="921" width="0.278" height="0.684" italic="0.049" />
|
||||
<Char code="922" width="0.694" height="0.684" italic="0.089" >
|
||||
<Kern code="927" val="-0.083"/>
|
||||
</Char>
|
||||
<Char code="923" width="0.611" height="0.684" >
|
||||
<Kern code="927" val="-0.033"/>
|
||||
<Kern code="933" val="-0.1"/>
|
||||
<Kern code="939" val="-0.1"/>
|
||||
</Char>
|
||||
<Char code="924" width="0.875" height="0.684" italic="0.044" />
|
||||
<Char code="925" width="0.708" height="0.684" italic="0.047" >
|
||||
<Kern code="913" val="-0.083"/>
|
||||
<Kern code="8124" val="-0.083"/>
|
||||
</Char>
|
||||
<Char code="926" width="0.667" height="0.679" italic="0.096" />
|
||||
<Char code="927" width="0.736" height="0.706" depth="0.021" italic="0.026" >
|
||||
<Kern code="913" val="-0.083"/>
|
||||
<Kern code="931" val="-0.056"/>
|
||||
<Kern code="8124" val="-0.083"/>
|
||||
</Char>
|
||||
<Char code="928" width="0.708" height="0.681" italic="0.048" />
|
||||
<Char code="929" width="0.639" height="0.685" italic="0.051" >
|
||||
<Kern code="913" val="-0.167"/>
|
||||
<Kern code="8124" val="-0.167"/>
|
||||
</Char>
|
||||
<Char code="931" width="0.722" height="0.684" italic="0.089" >
|
||||
<Kern code="913" val="-0.028"/>
|
||||
<Kern code="8124" val="-0.028"/>
|
||||
</Char>
|
||||
<Char code="932" width="0.68" height="0.679" italic="0.107" >
|
||||
<Kern code="913" val="-0.083"/>
|
||||
<Kern code="8124" val="-0.083"/>
|
||||
</Char>
|
||||
<Char code="933" width="0.778" height="0.707" italic="0.064" >
|
||||
<Kern code="913" val="-0.139"/>
|
||||
<Kern code="916" val="-0.139"/>
|
||||
<Kern code="923" val="-0.139"/>
|
||||
<Kern code="8124" val="-0.139"/>
|
||||
</Char>
|
||||
<Char code="934" width="0.722" height="0.684" italic="0.021" >
|
||||
<Kern code="913" val="-0.083"/>
|
||||
<Kern code="8124" val="-0.083"/>
|
||||
</Char>
|
||||
<Char code="935" width="0.667" height="0.684" italic="0.088" />
|
||||
<Char code="936" width="0.778" height="0.684" italic="0.072" >
|
||||
<Kern code="913" val="-0.122"/>
|
||||
<Kern code="8124" val="-0.122"/>
|
||||
</Char>
|
||||
<Char code="937" width="0.722" height="0.706" italic="0.046" />
|
||||
<Char code="938" width="0.278" height="0.833" italic="0.168" />
|
||||
<Char code="939" width="0.778" height="0.833" italic="0.064" >
|
||||
<Kern code="913" val="-0.139"/>
|
||||
<Kern code="916" val="-0.139"/>
|
||||
<Kern code="923" val="-0.139"/>
|
||||
<Kern code="8124" val="-0.139"/>
|
||||
</Char>
|
||||
<Char code="940" width="0.5" height="0.695" depth="0.011" italic="0.065" />
|
||||
<Char code="941" width="0.43" height="0.695" depth="0.022" italic="0.042" />
|
||||
<Char code="942" width="0.5" height="0.695" depth="0.272" italic="0.022" />
|
||||
<Char code="943" width="0.25" height="0.695" depth="0.011" italic="0.099" >
|
||||
<Kern code="947" val="-0.028"/>
|
||||
<Kern code="951" val="-0.017"/>
|
||||
<Kern code="952" val="-0.017"/>
|
||||
<Kern code="957" val="-0.056"/>
|
||||
<Kern code="959" val="-0.028"/>
|
||||
<Kern code="962" val="-0.028"/>
|
||||
<Kern code="963" val="-0.028"/>
|
||||
<Kern code="964" val="-0.028"/>
|
||||
<Kern code="967" val="-0.028"/>
|
||||
</Char>
|
||||
<Char code="944" width="0.5" height="0.695" depth="0.011" italic="0.013" />
|
||||
<Char code="945" width="0.5" height="0.443" depth="0.011" italic="0.065" />
|
||||
<Char code="946" width="0.5" height="0.706" depth="0.272" italic="0.03" />
|
||||
<Char code="947" width="0.555" height="0.443" depth="0.216" italic="0.044" />
|
||||
<Char code="948" width="0.472" height="0.652" depth="0.01" italic="0.05" />
|
||||
<Char code="949" width="0.43" height="0.453" depth="0.022" italic="0.042" />
|
||||
<Char code="950" width="0.472" height="0.718" depth="0.153" italic="0.089" />
|
||||
<Char code="951" width="0.5" height="0.453" depth="0.272" italic="0.011" />
|
||||
<Char code="952" width="0.569" height="0.707" depth="0.012" italic="0.031" />
|
||||
<Char code="953" width="0.25" height="0.443" depth="0.011" >
|
||||
<Kern code="947" val="-0.028"/>
|
||||
<Kern code="951" val="-0.017"/>
|
||||
<Kern code="952" val="-0.017"/>
|
||||
<Kern code="957" val="-0.056"/>
|
||||
<Kern code="959" val="-0.028"/>
|
||||
<Kern code="962" val="-0.028"/>
|
||||
<Kern code="963" val="-0.028"/>
|
||||
<Kern code="964" val="-0.028"/>
|
||||
<Kern code="967" val="-0.028"/>
|
||||
</Char>
|
||||
<Char code="954" width="0.528" height="0.458" depth="0.026" italic="0.05" />
|
||||
<Char code="955" width="0.5" height="0.698" depth="0.011" />
|
||||
<Char code="956" width="0.522" height="0.453" depth="0.267" italic="0.018" />
|
||||
<Char code="957" width="0.472" height="0.443" depth="0.01" italic="0.022" />
|
||||
<Char code="958" width="0.472" height="0.718" depth="0.152" italic="0.088" />
|
||||
<Char code="959" width="0.528" height="0.442" depth="0.011" italic="0.009" >
|
||||
<Kern code="947" val="-0.028"/>
|
||||
<Kern code="955" val="-0.028"/>
|
||||
<Kern code="957" val="-0.022"/>
|
||||
<Kern code="964" val="-0.022"/>
|
||||
<Kern code="967" val="-0.028"/>
|
||||
</Char>
|
||||
<Char code="960" width="0.514" height="0.432" depth="0.011" italic="0.048" />
|
||||
<Char code="961" width="0.472" height="0.443" depth="0.266" italic="0.009" />
|
||||
<Char code="962" width="0.444" height="0.443" depth="0.124" italic="0.044" />
|
||||
<Char code="963" width="0.569" height="0.431" depth="0.01" italic="0.061" />
|
||||
<Char code="964" width="0.458" height="0.432" depth="0.011" italic="0.048" >
|
||||
<Kern code="940" val="-0.028"/>
|
||||
<Kern code="945" val="-0.028"/>
|
||||
<Kern code="959" val="-0.028"/>
|
||||
<Kern code="969" val="-0.028"/>
|
||||
<Kern code="972" val="-0.028"/>
|
||||
<Kern code="974" val="-0.028"/>
|
||||
<Kern code="7936" val="-0.028"/>
|
||||
<Kern code="7937" val="-0.028"/>
|
||||
<Kern code="7940" val="-0.028"/>
|
||||
<Kern code="7941" val="-0.028"/>
|
||||
<Kern code="7942" val="-0.028"/>
|
||||
<Kern code="7943" val="-0.028"/>
|
||||
<Kern code="8000" val="-0.028"/>
|
||||
<Kern code="8001" val="-0.028"/>
|
||||
<Kern code="8004" val="-0.028"/>
|
||||
<Kern code="8005" val="-0.028"/>
|
||||
<Kern code="8032" val="-0.028"/>
|
||||
<Kern code="8033" val="-0.028"/>
|
||||
<Kern code="8036" val="-0.028"/>
|
||||
<Kern code="8037" val="-0.028"/>
|
||||
<Kern code="8038" val="-0.028"/>
|
||||
<Kern code="8039" val="-0.028"/>
|
||||
<Kern code="8048" val="-0.028"/>
|
||||
<Kern code="8056" val="-0.028"/>
|
||||
<Kern code="8060" val="-0.028"/>
|
||||
<Kern code="8064" val="-0.028"/>
|
||||
<Kern code="8065" val="-0.028"/>
|
||||
<Kern code="8068" val="-0.028"/>
|
||||
<Kern code="8069" val="-0.028"/>
|
||||
<Kern code="8070" val="-0.028"/>
|
||||
<Kern code="8071" val="-0.028"/>
|
||||
<Kern code="8096" val="-0.028"/>
|
||||
<Kern code="8097" val="-0.028"/>
|
||||
<Kern code="8100" val="-0.028"/>
|
||||
<Kern code="8101" val="-0.028"/>
|
||||
<Kern code="8102" val="-0.028"/>
|
||||
<Kern code="8103" val="-0.028"/>
|
||||
<Kern code="8114" val="-0.028"/>
|
||||
<Kern code="8116" val="-0.028"/>
|
||||
<Kern code="8118" val="-0.028"/>
|
||||
<Kern code="8119" val="-0.028"/>
|
||||
<Kern code="8178" val="-0.028"/>
|
||||
<Kern code="8180" val="-0.028"/>
|
||||
<Kern code="8182" val="-0.028"/>
|
||||
<Kern code="8183" val="-0.028"/>
|
||||
</Char>
|
||||
<Char code="965" width="0.5" height="0.456" depth="0.011" italic="0.013" />
|
||||
<Char code="966" width="0.583" height="0.454" depth="0.272" italic="0.012" />
|
||||
<Char code="967" width="0.555" height="0.445" depth="0.263" italic="0.051" />
|
||||
<Char code="968" width="0.583" height="0.718" depth="0.272" italic="0.021" />
|
||||
<Char code="969" width="0.667" height="0.453" depth="0.011" italic="0.01" />
|
||||
<Char code="970" width="0.25" height="0.626" depth="0.011" italic="0.12" >
|
||||
<Kern code="947" val="-0.028"/>
|
||||
<Kern code="951" val="-0.017"/>
|
||||
<Kern code="952" val="-0.017"/>
|
||||
<Kern code="957" val="-0.056"/>
|
||||
<Kern code="959" val="-0.028"/>
|
||||
<Kern code="962" val="-0.028"/>
|
||||
<Kern code="963" val="-0.028"/>
|
||||
<Kern code="964" val="-0.028"/>
|
||||
<Kern code="967" val="-0.028"/>
|
||||
</Char>
|
||||
<Char code="971" width="0.5" height="0.626" depth="0.011" italic="0.013" />
|
||||
<Char code="972" width="0.528" height="0.695" depth="0.011" italic="0.009" >
|
||||
<Kern code="947" val="-0.028"/>
|
||||
<Kern code="955" val="-0.028"/>
|
||||
<Kern code="957" val="-0.022"/>
|
||||
<Kern code="964" val="-0.022"/>
|
||||
<Kern code="967" val="-0.028"/>
|
||||
</Char>
|
||||
<Char code="973" width="0.5" height="0.695" depth="0.011" italic="0.013" />
|
||||
<Char code="974" width="0.667" height="0.695" depth="0.011" italic="0.01" />
|
||||
<Char code="984" width="0.5" height="0.695" italic="0.072" />
|
||||
<Char code="985" width="0.5" height="0.601" depth="0.064" italic="0.042" />
|
||||
<Char code="986" width="0.778" height="0.679" />
|
||||
<Char code="987" width="0.5" height="0.454" italic="0.04" />
|
||||
<Char code="988" width="0.569" height="0.681" italic="0.101" />
|
||||
<Char code="989" width="0.5" height="0.432" depth="0.25" italic="0.028" />
|
||||
<Char code="991" width="0.389" height="0.563" depth="0.106" italic="0.005" />
|
||||
<Char code="992" width="0.639" height="0.683" />
|
||||
<Char code="993" width="0.722" height="0.696" />
|
||||
<Char code="7936" width="0.5" height="0.696" depth="0.011" italic="0.065" />
|
||||
<Char code="7937" width="0.5" height="0.696" depth="0.011" italic="0.065" />
|
||||
<Char code="7938" width="0.5" height="0.696" depth="0.011" italic="0.065" />
|
||||
<Char code="7939" width="0.5" height="0.696" depth="0.011" italic="0.065" />
|
||||
<Char code="7940" width="0.5" height="0.696" depth="0.011" italic="0.065" />
|
||||
<Char code="7941" width="0.5" height="0.696" depth="0.011" italic="0.065" />
|
||||
<Char code="7942" width="0.5" height="0.695" depth="0.011" italic="0.067" />
|
||||
<Char code="7943" width="0.5" height="0.695" depth="0.011" italic="0.067" />
|
||||
<Char code="7952" width="0.43" height="0.696" depth="0.022" italic="0.042" />
|
||||
<Char code="7953" width="0.43" height="0.696" depth="0.022" italic="0.042" />
|
||||
<Char code="7954" width="0.43" height="0.696" depth="0.022" italic="0.048" />
|
||||
<Char code="7955" width="0.43" height="0.696" depth="0.022" italic="0.048" />
|
||||
<Char code="7956" width="0.43" height="0.696" depth="0.022" italic="0.083" />
|
||||
<Char code="7957" width="0.43" height="0.696" depth="0.022" italic="0.083" />
|
||||
<Char code="7968" width="0.5" height="0.696" depth="0.272" italic="0.011" />
|
||||
<Char code="7969" width="0.5" height="0.696" depth="0.272" italic="0.011" />
|
||||
<Char code="7970" width="0.5" height="0.696" depth="0.272" italic="0.029" />
|
||||
<Char code="7971" width="0.5" height="0.696" depth="0.272" italic="0.029" />
|
||||
<Char code="7972" width="0.5" height="0.696" depth="0.272" italic="0.064" />
|
||||
<Char code="7973" width="0.5" height="0.696" depth="0.272" italic="0.064" />
|
||||
<Char code="7974" width="0.5" height="0.696" depth="0.272" italic="0.079" />
|
||||
<Char code="7975" width="0.5" height="0.696" depth="0.272" italic="0.079" />
|
||||
<Char code="7984" width="0.25" height="0.696" depth="0.011" italic="0.071" >
|
||||
<Kern code="947" val="-0.028"/>
|
||||
<Kern code="951" val="-0.017"/>
|
||||
<Kern code="952" val="-0.017"/>
|
||||
<Kern code="957" val="-0.056"/>
|
||||
<Kern code="959" val="-0.028"/>
|
||||
<Kern code="962" val="-0.028"/>
|
||||
<Kern code="963" val="-0.028"/>
|
||||
<Kern code="964" val="-0.028"/>
|
||||
<Kern code="967" val="-0.028"/>
|
||||
</Char>
|
||||
<Char code="7985" width="0.25" height="0.696" depth="0.011" italic="0.022" >
|
||||
<Kern code="947" val="-0.028"/>
|
||||
<Kern code="951" val="-0.017"/>
|
||||
<Kern code="952" val="-0.017"/>
|
||||
<Kern code="957" val="-0.056"/>
|
||||
<Kern code="959" val="-0.028"/>
|
||||
<Kern code="962" val="-0.028"/>
|
||||
<Kern code="963" val="-0.028"/>
|
||||
<Kern code="964" val="-0.028"/>
|
||||
<Kern code="967" val="-0.028"/>
|
||||
</Char>
|
||||
<Char code="7986" width="0.25" height="0.696" depth="0.011" italic="0.106" />
|
||||
<Char code="7987" width="0.25" height="0.696" depth="0.011" italic="0.106" />
|
||||
<Char code="7988" width="0.25" height="0.696" depth="0.011" italic="0.141" >
|
||||
<Kern code="947" val="-0.028"/>
|
||||
<Kern code="951" val="-0.017"/>
|
||||
<Kern code="952" val="-0.017"/>
|
||||
<Kern code="957" val="-0.056"/>
|
||||
<Kern code="959" val="-0.028"/>
|
||||
<Kern code="962" val="-0.028"/>
|
||||
<Kern code="963" val="-0.028"/>
|
||||
<Kern code="964" val="-0.028"/>
|
||||
<Kern code="967" val="-0.028"/>
|
||||
</Char>
|
||||
<Char code="7989" width="0.25" height="0.696" depth="0.011" italic="0.141" >
|
||||
<Kern code="947" val="-0.028"/>
|
||||
<Kern code="951" val="-0.017"/>
|
||||
<Kern code="952" val="-0.017"/>
|
||||
<Kern code="957" val="-0.056"/>
|
||||
<Kern code="959" val="-0.028"/>
|
||||
<Kern code="962" val="-0.028"/>
|
||||
<Kern code="963" val="-0.028"/>
|
||||
<Kern code="964" val="-0.028"/>
|
||||
<Kern code="967" val="-0.028"/>
|
||||
</Char>
|
||||
<Char code="7990" width="0.25" height="0.696" depth="0.011" italic="0.155" >
|
||||
<Kern code="947" val="-0.028"/>
|
||||
<Kern code="951" val="-0.017"/>
|
||||
<Kern code="952" val="-0.017"/>
|
||||
<Kern code="957" val="-0.056"/>
|
||||
<Kern code="959" val="-0.028"/>
|
||||
<Kern code="962" val="-0.028"/>
|
||||
<Kern code="963" val="-0.028"/>
|
||||
<Kern code="964" val="-0.028"/>
|
||||
<Kern code="967" val="-0.028"/>
|
||||
</Char>
|
||||
<Char code="7991" width="0.25" height="0.696" depth="0.011" italic="0.155" >
|
||||
<Kern code="947" val="-0.028"/>
|
||||
<Kern code="951" val="-0.017"/>
|
||||
<Kern code="952" val="-0.017"/>
|
||||
<Kern code="957" val="-0.056"/>
|
||||
<Kern code="959" val="-0.028"/>
|
||||
<Kern code="962" val="-0.028"/>
|
||||
<Kern code="963" val="-0.028"/>
|
||||
<Kern code="964" val="-0.028"/>
|
||||
<Kern code="967" val="-0.028"/>
|
||||
</Char>
|
||||
<Char code="8000" width="0.528" height="0.696" depth="0.011" italic="0.009" >
|
||||
<Kern code="947" val="-0.028"/>
|
||||
<Kern code="955" val="-0.028"/>
|
||||
<Kern code="957" val="-0.022"/>
|
||||
<Kern code="964" val="-0.022"/>
|
||||
<Kern code="967" val="-0.028"/>
|
||||
</Char>
|
||||
<Char code="8001" width="0.528" height="0.696" depth="0.011" italic="0.009" >
|
||||
<Kern code="947" val="-0.028"/>
|
||||
<Kern code="955" val="-0.028"/>
|
||||
<Kern code="957" val="-0.022"/>
|
||||
<Kern code="964" val="-0.022"/>
|
||||
<Kern code="967" val="-0.028"/>
|
||||
</Char>
|
||||
<Char code="8002" width="0.528" height="0.696" depth="0.011" italic="0.009" />
|
||||
<Char code="8003" width="0.528" height="0.696" depth="0.011" italic="0.009" />
|
||||
<Char code="8004" width="0.528" height="0.696" depth="0.011" italic="0.034" >
|
||||
<Kern code="947" val="-0.028"/>
|
||||
<Kern code="955" val="-0.028"/>
|
||||
<Kern code="957" val="-0.022"/>
|
||||
<Kern code="964" val="-0.022"/>
|
||||
<Kern code="967" val="-0.028"/>
|
||||
</Char>
|
||||
<Char code="8005" width="0.528" height="0.696" depth="0.011" italic="0.034" >
|
||||
<Kern code="947" val="-0.028"/>
|
||||
<Kern code="955" val="-0.028"/>
|
||||
<Kern code="957" val="-0.022"/>
|
||||
<Kern code="964" val="-0.022"/>
|
||||
<Kern code="967" val="-0.028"/>
|
||||
</Char>
|
||||
<Char code="8016" width="0.5" height="0.696" depth="0.011" italic="0.013" />
|
||||
<Char code="8017" width="0.5" height="0.696" depth="0.011" italic="0.013" />
|
||||
<Char code="8018" width="0.5" height="0.696" depth="0.011" italic="0.013" />
|
||||
<Char code="8019" width="0.5" height="0.696" depth="0.011" italic="0.013" />
|
||||
<Char code="8020" width="0.5" height="0.696" depth="0.011" italic="0.013" />
|
||||
<Char code="8021" width="0.5" height="0.696" depth="0.011" italic="0.013" />
|
||||
<Char code="8022" width="0.5" height="0.696" depth="0.011" italic="0.026" />
|
||||
<Char code="8023" width="0.5" height="0.696" depth="0.011" italic="0.026" />
|
||||
<Char code="8032" width="0.667" height="0.696" depth="0.011" italic="0.01" />
|
||||
<Char code="8033" width="0.667" height="0.696" depth="0.011" italic="0.01" />
|
||||
<Char code="8034" width="0.667" height="0.696" depth="0.011" italic="0.01" />
|
||||
<Char code="8035" width="0.667" height="0.696" depth="0.011" italic="0.01" />
|
||||
<Char code="8036" width="0.667" height="0.696" depth="0.011" italic="0.01" />
|
||||
<Char code="8037" width="0.667" height="0.696" depth="0.011" italic="0.01" />
|
||||
<Char code="8038" width="0.667" height="0.695" depth="0.011" italic="0.035" />
|
||||
<Char code="8039" width="0.667" height="0.695" depth="0.011" italic="0.035" />
|
||||
<Char code="8048" width="0.5" height="0.695" depth="0.011" italic="0.065" />
|
||||
<Char code="8050" width="0.43" height="0.695" depth="0.022" italic="0.042" />
|
||||
<Char code="8052" width="0.5" height="0.695" depth="0.272" italic="0.011" />
|
||||
<Char code="8054" width="0.25" height="0.695" depth="0.011" italic="0.011" >
|
||||
<Kern code="947" val="-0.028"/>
|
||||
<Kern code="951" val="-0.017"/>
|
||||
<Kern code="952" val="-0.017"/>
|
||||
<Kern code="957" val="-0.056"/>
|
||||
<Kern code="959" val="-0.028"/>
|
||||
<Kern code="962" val="-0.028"/>
|
||||
<Kern code="963" val="-0.028"/>
|
||||
<Kern code="964" val="-0.028"/>
|
||||
<Kern code="967" val="-0.028"/>
|
||||
</Char>
|
||||
<Char code="8056" width="0.528" height="0.695" depth="0.011" italic="0.009" >
|
||||
<Kern code="947" val="-0.028"/>
|
||||
<Kern code="955" val="-0.028"/>
|
||||
<Kern code="957" val="-0.022"/>
|
||||
<Kern code="964" val="-0.022"/>
|
||||
<Kern code="967" val="-0.028"/>
|
||||
</Char>
|
||||
<Char code="8058" width="0.5" height="0.695" depth="0.011" italic="0.013" />
|
||||
<Char code="8060" width="0.667" height="0.695" depth="0.011" italic="0.01" />
|
||||
<Char code="8064" width="0.5" height="0.696" depth="0.238" italic="0.065" />
|
||||
<Char code="8065" width="0.5" height="0.696" depth="0.238" italic="0.065" />
|
||||
<Char code="8066" width="0.5" height="0.696" depth="0.238" italic="0.065" />
|
||||
<Char code="8067" width="0.5" height="0.696" depth="0.238" italic="0.065" />
|
||||
<Char code="8068" width="0.5" height="0.696" depth="0.238" italic="0.065" />
|
||||
<Char code="8069" width="0.5" height="0.696" depth="0.238" italic="0.065" />
|
||||
<Char code="8070" width="0.5" height="0.695" depth="0.238" italic="0.067" />
|
||||
<Char code="8071" width="0.5" height="0.695" depth="0.238" italic="0.067" />
|
||||
<Char code="8080" width="0.5" height="0.696" depth="0.272" italic="0.011" />
|
||||
<Char code="8081" width="0.5" height="0.696" depth="0.272" italic="0.011" />
|
||||
<Char code="8082" width="0.5" height="0.696" depth="0.272" italic="0.029" />
|
||||
<Char code="8083" width="0.5" height="0.696" depth="0.272" italic="0.029" />
|
||||
<Char code="8084" width="0.5" height="0.696" depth="0.272" italic="0.064" />
|
||||
<Char code="8085" width="0.5" height="0.696" depth="0.272" italic="0.064" />
|
||||
<Char code="8086" width="0.5" height="0.696" depth="0.272" italic="0.079" />
|
||||
<Char code="8087" width="0.5" height="0.696" depth="0.272" italic="0.079" />
|
||||
<Char code="8096" width="0.667" height="0.696" depth="0.238" italic="0.01" />
|
||||
<Char code="8097" width="0.667" height="0.696" depth="0.238" italic="0.01" />
|
||||
<Char code="8098" width="0.667" height="0.696" depth="0.238" italic="0.01" />
|
||||
<Char code="8099" width="0.667" height="0.696" depth="0.238" italic="0.01" />
|
||||
<Char code="8100" width="0.667" height="0.696" depth="0.238" italic="0.01" />
|
||||
<Char code="8101" width="0.667" height="0.696" depth="0.238" italic="0.01" />
|
||||
<Char code="8102" width="0.667" height="0.695" depth="0.238" italic="0.035" />
|
||||
<Char code="8103" width="0.667" height="0.695" depth="0.238" italic="0.035" />
|
||||
<Char code="8114" width="0.5" height="0.695" depth="0.238" italic="0.065" />
|
||||
<Char code="8115" width="0.5" height="0.443" depth="0.238" italic="0.065" />
|
||||
<Char code="8116" width="0.5" height="0.695" depth="0.238" italic="0.065" />
|
||||
<Char code="8118" width="0.5" height="0.627" depth="0.011" italic="0.065" />
|
||||
<Char code="8119" width="0.5" height="0.627" depth="0.238" italic="0.065" />
|
||||
<Char code="8124" width="0.667" height="0.685" depth="0.238" >
|
||||
<Kern code="920" val="-0.083"/>
|
||||
<Kern code="927" val="-0.083"/>
|
||||
<Kern code="932" val="-0.083"/>
|
||||
<Kern code="933" val="-0.139"/>
|
||||
<Kern code="934" val="-0.083"/>
|
||||
<Kern code="936" val="-0.122"/>
|
||||
<Kern code="939" val="-0.139"/>
|
||||
</Char>
|
||||
<Char code="8126" width="0.222" height="0.158" depth="0.156" />
|
||||
<Char code="8127" width="0.222" height="0.696" italic="0.117" >
|
||||
<Kern code="913" val="-0.139"/>
|
||||
<Kern code="927" val="-0.056"/>
|
||||
<Kern code="937" val="-0.028"/>
|
||||
<Kern code="8124" val="-0.139"/>
|
||||
<Kern code="8188" val="-0.028"/>
|
||||
</Char>
|
||||
<Char code="8128" width="0.333" height="0.627" italic="0.132" >
|
||||
<Kern code="913" val="-0.111"/>
|
||||
<Kern code="8124" val="-0.111"/>
|
||||
</Char>
|
||||
<Char code="8129" width="0.444" height="0.695" italic="0.091" />
|
||||
<Char code="8130" width="0.5" height="0.695" depth="0.272" italic="0.011" />
|
||||
<Char code="8131" width="0.5" height="0.453" depth="0.272" italic="0.011" />
|
||||
<Char code="8132" width="0.5" height="0.695" depth="0.272" italic="0.022" />
|
||||
<Char code="8134" width="0.5" height="0.626" depth="0.272" italic="0.064" />
|
||||
<Char code="8135" width="0.5" height="0.626" depth="0.272" italic="0.064" />
|
||||
<Char code="8140" width="0.708" height="0.684" depth="0.238" italic="0.049" />
|
||||
<Char code="8141" width="0.278" height="0.696" italic="0.124" >
|
||||
<Kern code="913" val="-0.083"/>
|
||||
<Kern code="927" val="-0.028"/>
|
||||
<Kern code="8124" val="-0.083"/>
|
||||
</Char>
|
||||
<Char code="8142" width="0.278" height="0.696" italic="0.159" >
|
||||
<Kern code="913" val="-0.083"/>
|
||||
<Kern code="927" val="-0.028"/>
|
||||
<Kern code="8124" val="-0.083"/>
|
||||
</Char>
|
||||
<Char code="8143" width="0.333" height="0.695" italic="0.146" >
|
||||
<Kern code="913" val="-0.111"/>
|
||||
<Kern code="8124" val="-0.111"/>
|
||||
</Char>
|
||||
<Char code="8146" width="0.25" height="0.695" depth="0.011" italic="0.08" >
|
||||
<Kern code="947" val="-0.028"/>
|
||||
<Kern code="951" val="-0.017"/>
|
||||
<Kern code="952" val="-0.017"/>
|
||||
<Kern code="957" val="-0.056"/>
|
||||
<Kern code="959" val="-0.028"/>
|
||||
<Kern code="962" val="-0.028"/>
|
||||
<Kern code="963" val="-0.028"/>
|
||||
<Kern code="964" val="-0.028"/>
|
||||
<Kern code="967" val="-0.028"/>
|
||||
</Char>
|
||||
<Char code="8150" width="0.25" height="0.627" depth="0.011" italic="0.141" >
|
||||
<Kern code="947" val="-0.028"/>
|
||||
<Kern code="951" val="-0.017"/>
|
||||
<Kern code="952" val="-0.017"/>
|
||||
<Kern code="957" val="-0.056"/>
|
||||
<Kern code="959" val="-0.028"/>
|
||||
<Kern code="962" val="-0.028"/>
|
||||
<Kern code="963" val="-0.028"/>
|
||||
<Kern code="964" val="-0.028"/>
|
||||
<Kern code="967" val="-0.028"/>
|
||||
</Char>
|
||||
<Char code="8151" width="0.25" height="0.696" depth="0.011" italic="0.155" >
|
||||
<Kern code="947" val="-0.028"/>
|
||||
<Kern code="951" val="-0.017"/>
|
||||
<Kern code="952" val="-0.017"/>
|
||||
<Kern code="957" val="-0.056"/>
|
||||
<Kern code="959" val="-0.028"/>
|
||||
<Kern code="962" val="-0.028"/>
|
||||
<Kern code="963" val="-0.028"/>
|
||||
<Kern code="964" val="-0.028"/>
|
||||
<Kern code="967" val="-0.028"/>
|
||||
</Char>
|
||||
<Char code="8157" width="0.278" height="0.696" italic="0.124" >
|
||||
<Kern code="913" val="-0.083"/>
|
||||
<Kern code="927" val="-0.028"/>
|
||||
<Kern code="8124" val="-0.083"/>
|
||||
</Char>
|
||||
<Char code="8158" width="0.278" height="0.696" italic="0.159" >
|
||||
<Kern code="913" val="-0.083"/>
|
||||
<Kern code="927" val="-0.028"/>
|
||||
<Kern code="8124" val="-0.083"/>
|
||||
</Char>
|
||||
<Char code="8159" width="0.333" height="0.695" italic="0.146" >
|
||||
<Kern code="913" val="-0.111"/>
|
||||
<Kern code="8124" val="-0.111"/>
|
||||
</Char>
|
||||
<Char code="8162" width="0.5" height="0.695" depth="0.011" italic="0.013" />
|
||||
<Char code="8164" width="0.472" height="0.696" depth="0.266" italic="0.009" />
|
||||
<Char code="8165" width="0.472" height="0.696" depth="0.266" italic="0.009" />
|
||||
<Char code="8166" width="0.5" height="0.627" depth="0.011" italic="0.013" />
|
||||
<Char code="8167" width="0.5" height="0.696" depth="0.011" italic="0.026" />
|
||||
<Char code="8173" width="0.278" height="0.695" italic="0.098" />
|
||||
<Char code="8175" width="0.167" height="0.695" italic="0.112" >
|
||||
<Kern code="913" val="-0.111"/>
|
||||
<Kern code="927" val="-0.056"/>
|
||||
<Kern code="937" val="-0.028"/>
|
||||
<Kern code="8124" val="-0.111"/>
|
||||
<Kern code="8188" val="-0.028"/>
|
||||
</Char>
|
||||
<Char code="8178" width="0.667" height="0.695" depth="0.238" italic="0.01" />
|
||||
<Char code="8179" width="0.667" height="0.453" depth="0.238" italic="0.01" />
|
||||
<Char code="8180" width="0.667" height="0.695" depth="0.238" italic="0.01" />
|
||||
<Char code="8182" width="0.667" height="0.627" depth="0.011" italic="0.021" />
|
||||
<Char code="8183" width="0.667" height="0.627" depth="0.238" italic="0.021" />
|
||||
<Char code="8188" width="0.722" height="0.706" depth="0.238" italic="0.046" />
|
||||
<Char code="8190" width="0.222" height="0.696" italic="0.068" >
|
||||
<Kern code="913" val="-0.167"/>
|
||||
<Kern code="927" val="-0.056"/>
|
||||
<Kern code="937" val="-0.028"/>
|
||||
<Kern code="8124" val="-0.167"/>
|
||||
<Kern code="8188" val="-0.028"/>
|
||||
</Char>
|
||||
<Char code="8217" width="0.278" height="0.695" italic="0.057" >
|
||||
</Char>
|
||||
<Char code="9001" width="0.389" height="0.752" depth="0.249" italic="0.099" />
|
||||
<Char code="9002" width="0.389" height="0.751" depth="0.249" />
|
||||
</Font>
|
||||
BIN
3rdparty/MicroTeX/res/greek/fcsrpg.ttf
vendored
Normal file
BIN
3rdparty/MicroTeX/res/greek/fcsrpg.ttf
vendored
Normal file
Binary file not shown.
551
3rdparty/MicroTeX/res/greek/fcsrpg.xml
vendored
Normal file
551
3rdparty/MicroTeX/res/greek/fcsrpg.xml
vendored
Normal file
@ -0,0 +1,551 @@
|
||||
<?xml version='1.0'?>
|
||||
<Font name="fcsrpg.ttf" id="fcsrpg" space="0.239" xHeight="0.443" quad="1" unicode="204" itVersion="fcsropg" boldVersion="fcsbpg" ttVersion="fctrpg">
|
||||
<Char code="32" width="0.239" height="0.0" />
|
||||
<Char code="168" width="0.222" height="0.603" italic="0.052" />
|
||||
<Char code="884" width="0.194" height="0.695" />
|
||||
<Char code="885" width="0.194" height="0.001" depth="0.21" italic="0.003" />
|
||||
<Char code="890" width="0.111" height="-0.064" depth="0.238" />
|
||||
<Char code="900" width="0.167" height="0.695" >
|
||||
<Kern code="913" val="-0.111"/>
|
||||
<Kern code="927" val="-0.056"/>
|
||||
<Kern code="937" val="-0.028"/>
|
||||
<Kern code="8124" val="-0.111"/>
|
||||
<Kern code="8188" val="-0.028"/>
|
||||
</Char>
|
||||
<Char code="901" width="0.278" height="0.695" />
|
||||
<Char code="903" width="0.278" height="0.431" />
|
||||
<Char code="912" width="0.25" height="0.695" depth="0.01" >
|
||||
<Kern code="947" val="-0.028"/>
|
||||
<Kern code="951" val="-0.017"/>
|
||||
<Kern code="952" val="-0.017"/>
|
||||
<Kern code="957" val="-0.056"/>
|
||||
<Kern code="959" val="-0.028"/>
|
||||
<Kern code="962" val="-0.028"/>
|
||||
<Kern code="963" val="-0.028"/>
|
||||
<Kern code="964" val="-0.028"/>
|
||||
<Kern code="967" val="-0.028"/>
|
||||
</Char>
|
||||
<Char code="913" width="0.667" height="0.685" >
|
||||
<Kern code="920" val="-0.083"/>
|
||||
<Kern code="927" val="-0.083"/>
|
||||
<Kern code="932" val="-0.083"/>
|
||||
<Kern code="933" val="-0.139"/>
|
||||
<Kern code="934" val="-0.083"/>
|
||||
<Kern code="936" val="-0.122"/>
|
||||
<Kern code="939" val="-0.139"/>
|
||||
</Char>
|
||||
<Char code="914" width="0.667" height="0.684" />
|
||||
<Char code="915" width="0.542" height="0.681" >
|
||||
<Kern code="913" val="-0.133"/>
|
||||
<Kern code="916" val="-0.111"/>
|
||||
<Kern code="923" val="-0.122"/>
|
||||
<Kern code="8124" val="-0.133"/>
|
||||
</Char>
|
||||
<Char code="916" width="0.833" height="0.685" >
|
||||
<Kern code="927" val="-0.033"/>
|
||||
<Kern code="933" val="-0.139"/>
|
||||
<Kern code="939" val="-0.139"/>
|
||||
</Char>
|
||||
<Char code="917" width="0.597" height="0.681" />
|
||||
<Char code="918" width="0.611" height="0.684" />
|
||||
<Char code="919" width="0.708" height="0.684" />
|
||||
<Char code="920" width="0.778" height="0.706" depth="0.021" >
|
||||
<Kern code="913" val="-0.083"/>
|
||||
<Kern code="8124" val="-0.083"/>
|
||||
</Char>
|
||||
<Char code="921" width="0.278" height="0.684" />
|
||||
<Char code="922" width="0.694" height="0.684" >
|
||||
<Kern code="927" val="-0.083"/>
|
||||
</Char>
|
||||
<Char code="923" width="0.611" height="0.685" >
|
||||
<Kern code="927" val="-0.033"/>
|
||||
<Kern code="933" val="-0.1"/>
|
||||
<Kern code="939" val="-0.1"/>
|
||||
</Char>
|
||||
<Char code="924" width="0.875" height="0.684" />
|
||||
<Char code="925" width="0.708" height="0.684" >
|
||||
<Kern code="913" val="-0.083"/>
|
||||
<Kern code="8124" val="-0.083"/>
|
||||
</Char>
|
||||
<Char code="926" width="0.667" height="0.678" />
|
||||
<Char code="927" width="0.736" height="0.707" depth="0.021" >
|
||||
<Kern code="913" val="-0.083"/>
|
||||
<Kern code="931" val="-0.056"/>
|
||||
<Kern code="8124" val="-0.083"/>
|
||||
</Char>
|
||||
<Char code="928" width="0.708" height="0.681" />
|
||||
<Char code="929" width="0.639" height="0.685" >
|
||||
<Kern code="913" val="-0.167"/>
|
||||
<Kern code="8124" val="-0.167"/>
|
||||
</Char>
|
||||
<Char code="931" width="0.722" height="0.684" >
|
||||
<Kern code="913" val="-0.028"/>
|
||||
<Kern code="8124" val="-0.028"/>
|
||||
</Char>
|
||||
<Char code="932" width="0.68" height="0.678" >
|
||||
<Kern code="913" val="-0.083"/>
|
||||
<Kern code="8124" val="-0.083"/>
|
||||
</Char>
|
||||
<Char code="933" width="0.778" height="0.707" >
|
||||
<Kern code="913" val="-0.139"/>
|
||||
<Kern code="916" val="-0.139"/>
|
||||
<Kern code="923" val="-0.139"/>
|
||||
<Kern code="8124" val="-0.139"/>
|
||||
</Char>
|
||||
<Char code="934" width="0.722" height="0.684" >
|
||||
<Kern code="913" val="-0.083"/>
|
||||
<Kern code="8124" val="-0.083"/>
|
||||
</Char>
|
||||
<Char code="935" width="0.667" height="0.684" />
|
||||
<Char code="936" width="0.778" height="0.684" >
|
||||
<Kern code="913" val="-0.122"/>
|
||||
<Kern code="8124" val="-0.122"/>
|
||||
</Char>
|
||||
<Char code="937" width="0.722" height="0.707" />
|
||||
<Char code="938" width="0.278" height="0.833" italic="0.001" />
|
||||
<Char code="939" width="0.778" height="0.833" >
|
||||
<Kern code="913" val="-0.139"/>
|
||||
<Kern code="916" val="-0.139"/>
|
||||
<Kern code="923" val="-0.139"/>
|
||||
<Kern code="8124" val="-0.139"/>
|
||||
</Char>
|
||||
<Char code="940" width="0.5" height="0.695" depth="0.011" italic="0.045" />
|
||||
<Char code="941" width="0.43" height="0.695" depth="0.022" />
|
||||
<Char code="942" width="0.5" height="0.695" depth="0.271" />
|
||||
<Char code="943" width="0.25" height="0.695" depth="0.01" >
|
||||
<Kern code="947" val="-0.028"/>
|
||||
<Kern code="951" val="-0.017"/>
|
||||
<Kern code="952" val="-0.017"/>
|
||||
<Kern code="957" val="-0.056"/>
|
||||
<Kern code="959" val="-0.028"/>
|
||||
<Kern code="962" val="-0.028"/>
|
||||
<Kern code="963" val="-0.028"/>
|
||||
<Kern code="964" val="-0.028"/>
|
||||
<Kern code="967" val="-0.028"/>
|
||||
</Char>
|
||||
<Char code="944" width="0.5" height="0.695" depth="0.01" />
|
||||
<Char code="945" width="0.5" height="0.443" depth="0.011" italic="0.045" />
|
||||
<Char code="946" width="0.5" height="0.707" depth="0.271" />
|
||||
<Char code="947" width="0.555" height="0.444" depth="0.216" />
|
||||
<Char code="948" width="0.472" height="0.652" depth="0.011" />
|
||||
<Char code="949" width="0.43" height="0.453" depth="0.022" />
|
||||
<Char code="950" width="0.472" height="0.718" depth="0.153" />
|
||||
<Char code="951" width="0.5" height="0.454" depth="0.271" />
|
||||
<Char code="952" width="0.569" height="0.707" depth="0.011" />
|
||||
<Char code="953" width="0.25" height="0.442" depth="0.01" >
|
||||
<Kern code="947" val="-0.028"/>
|
||||
<Kern code="951" val="-0.017"/>
|
||||
<Kern code="952" val="-0.017"/>
|
||||
<Kern code="957" val="-0.056"/>
|
||||
<Kern code="959" val="-0.028"/>
|
||||
<Kern code="962" val="-0.028"/>
|
||||
<Kern code="963" val="-0.028"/>
|
||||
<Kern code="964" val="-0.028"/>
|
||||
<Kern code="967" val="-0.028"/>
|
||||
</Char>
|
||||
<Char code="954" width="0.528" height="0.457" depth="0.025" />
|
||||
<Char code="955" width="0.5" height="0.697" depth="0.011" />
|
||||
<Char code="956" width="0.522" height="0.453" depth="0.266" />
|
||||
<Char code="957" width="0.472" height="0.443" depth="0.01" />
|
||||
<Char code="958" width="0.472" height="0.718" depth="0.152" />
|
||||
<Char code="959" width="0.528" height="0.443" depth="0.011" >
|
||||
<Kern code="947" val="-0.028"/>
|
||||
<Kern code="955" val="-0.028"/>
|
||||
<Kern code="957" val="-0.022"/>
|
||||
<Kern code="964" val="-0.022"/>
|
||||
<Kern code="967" val="-0.028"/>
|
||||
</Char>
|
||||
<Char code="960" width="0.514" height="0.432" depth="0.01" italic="0.009" />
|
||||
<Char code="961" width="0.472" height="0.442" depth="0.266" />
|
||||
<Char code="962" width="0.444" height="0.443" depth="0.124" />
|
||||
<Char code="963" width="0.569" height="0.432" depth="0.01" />
|
||||
<Char code="964" width="0.458" height="0.432" depth="0.01" >
|
||||
<Kern code="940" val="-0.028"/>
|
||||
<Kern code="945" val="-0.028"/>
|
||||
<Kern code="959" val="-0.028"/>
|
||||
<Kern code="969" val="-0.028"/>
|
||||
<Kern code="972" val="-0.028"/>
|
||||
<Kern code="974" val="-0.028"/>
|
||||
<Kern code="7936" val="-0.028"/>
|
||||
<Kern code="7937" val="-0.028"/>
|
||||
<Kern code="7940" val="-0.028"/>
|
||||
<Kern code="7941" val="-0.028"/>
|
||||
<Kern code="7942" val="-0.028"/>
|
||||
<Kern code="7943" val="-0.028"/>
|
||||
<Kern code="8000" val="-0.028"/>
|
||||
<Kern code="8001" val="-0.028"/>
|
||||
<Kern code="8004" val="-0.028"/>
|
||||
<Kern code="8005" val="-0.028"/>
|
||||
<Kern code="8032" val="-0.028"/>
|
||||
<Kern code="8033" val="-0.028"/>
|
||||
<Kern code="8036" val="-0.028"/>
|
||||
<Kern code="8037" val="-0.028"/>
|
||||
<Kern code="8038" val="-0.028"/>
|
||||
<Kern code="8039" val="-0.028"/>
|
||||
<Kern code="8048" val="-0.028"/>
|
||||
<Kern code="8056" val="-0.028"/>
|
||||
<Kern code="8060" val="-0.028"/>
|
||||
<Kern code="8064" val="-0.028"/>
|
||||
<Kern code="8065" val="-0.028"/>
|
||||
<Kern code="8068" val="-0.028"/>
|
||||
<Kern code="8069" val="-0.028"/>
|
||||
<Kern code="8070" val="-0.028"/>
|
||||
<Kern code="8071" val="-0.028"/>
|
||||
<Kern code="8096" val="-0.028"/>
|
||||
<Kern code="8097" val="-0.028"/>
|
||||
<Kern code="8100" val="-0.028"/>
|
||||
<Kern code="8101" val="-0.028"/>
|
||||
<Kern code="8102" val="-0.028"/>
|
||||
<Kern code="8103" val="-0.028"/>
|
||||
<Kern code="8114" val="-0.028"/>
|
||||
<Kern code="8116" val="-0.028"/>
|
||||
<Kern code="8118" val="-0.028"/>
|
||||
<Kern code="8119" val="-0.028"/>
|
||||
<Kern code="8178" val="-0.028"/>
|
||||
<Kern code="8180" val="-0.028"/>
|
||||
<Kern code="8182" val="-0.028"/>
|
||||
<Kern code="8183" val="-0.028"/>
|
||||
</Char>
|
||||
<Char code="965" width="0.5" height="0.457" depth="0.01" />
|
||||
<Char code="966" width="0.583" height="0.454" depth="0.272" />
|
||||
<Char code="967" width="0.555" height="0.444" depth="0.262" />
|
||||
<Char code="968" width="0.583" height="0.717" depth="0.271" />
|
||||
<Char code="969" width="0.667" height="0.453" depth="0.011" />
|
||||
<Char code="970" width="0.25" height="0.626" depth="0.01" >
|
||||
<Kern code="947" val="-0.028"/>
|
||||
<Kern code="951" val="-0.017"/>
|
||||
<Kern code="952" val="-0.017"/>
|
||||
<Kern code="957" val="-0.056"/>
|
||||
<Kern code="959" val="-0.028"/>
|
||||
<Kern code="962" val="-0.028"/>
|
||||
<Kern code="963" val="-0.028"/>
|
||||
<Kern code="964" val="-0.028"/>
|
||||
<Kern code="967" val="-0.028"/>
|
||||
</Char>
|
||||
<Char code="971" width="0.5" height="0.626" depth="0.01" />
|
||||
<Char code="972" width="0.528" height="0.695" depth="0.011" >
|
||||
<Kern code="947" val="-0.028"/>
|
||||
<Kern code="955" val="-0.028"/>
|
||||
<Kern code="957" val="-0.022"/>
|
||||
<Kern code="964" val="-0.022"/>
|
||||
<Kern code="967" val="-0.028"/>
|
||||
</Char>
|
||||
<Char code="973" width="0.5" height="0.695" depth="0.01" />
|
||||
<Char code="974" width="0.667" height="0.695" depth="0.011" />
|
||||
<Char code="984" width="0.5" height="0.696" />
|
||||
<Char code="985" width="0.5" height="0.601" depth="0.064" />
|
||||
<Char code="986" width="0.778" height="0.679" />
|
||||
<Char code="987" width="0.5" height="0.454" />
|
||||
<Char code="988" width="0.569" height="0.681" />
|
||||
<Char code="989" width="0.5" height="0.432" depth="0.249" />
|
||||
<Char code="991" width="0.389" height="0.563" depth="0.107" />
|
||||
<Char code="992" width="0.639" height="0.683" />
|
||||
<Char code="993" width="0.722" height="0.695" />
|
||||
<Char code="7936" width="0.5" height="0.696" depth="0.011" italic="0.045" />
|
||||
<Char code="7937" width="0.5" height="0.696" depth="0.011" italic="0.045" />
|
||||
<Char code="7938" width="0.5" height="0.696" depth="0.011" italic="0.045" />
|
||||
<Char code="7939" width="0.5" height="0.696" depth="0.011" italic="0.045" />
|
||||
<Char code="7940" width="0.5" height="0.696" depth="0.011" italic="0.045" />
|
||||
<Char code="7941" width="0.5" height="0.696" depth="0.011" italic="0.045" />
|
||||
<Char code="7942" width="0.5" height="0.696" depth="0.011" italic="0.045" />
|
||||
<Char code="7943" width="0.5" height="0.696" depth="0.011" italic="0.045" />
|
||||
<Char code="7952" width="0.43" height="0.696" depth="0.022" />
|
||||
<Char code="7953" width="0.43" height="0.696" depth="0.022" />
|
||||
<Char code="7954" width="0.43" height="0.696" depth="0.022" />
|
||||
<Char code="7955" width="0.43" height="0.696" depth="0.022" />
|
||||
<Char code="7956" width="0.43" height="0.696" depth="0.022" />
|
||||
<Char code="7957" width="0.43" height="0.696" depth="0.022" />
|
||||
<Char code="7968" width="0.5" height="0.696" depth="0.271" />
|
||||
<Char code="7969" width="0.5" height="0.696" depth="0.271" />
|
||||
<Char code="7970" width="0.5" height="0.696" depth="0.271" />
|
||||
<Char code="7971" width="0.5" height="0.696" depth="0.271" />
|
||||
<Char code="7972" width="0.5" height="0.696" depth="0.271" />
|
||||
<Char code="7973" width="0.5" height="0.696" depth="0.271" />
|
||||
<Char code="7974" width="0.5" height="0.696" depth="0.271" />
|
||||
<Char code="7975" width="0.5" height="0.696" depth="0.271" />
|
||||
<Char code="7984" width="0.25" height="0.696" depth="0.01" >
|
||||
<Kern code="947" val="-0.028"/>
|
||||
<Kern code="951" val="-0.017"/>
|
||||
<Kern code="952" val="-0.017"/>
|
||||
<Kern code="957" val="-0.056"/>
|
||||
<Kern code="959" val="-0.028"/>
|
||||
<Kern code="962" val="-0.028"/>
|
||||
<Kern code="963" val="-0.028"/>
|
||||
<Kern code="964" val="-0.028"/>
|
||||
<Kern code="967" val="-0.028"/>
|
||||
</Char>
|
||||
<Char code="7985" width="0.25" height="0.696" depth="0.01" >
|
||||
<Kern code="947" val="-0.028"/>
|
||||
<Kern code="951" val="-0.017"/>
|
||||
<Kern code="952" val="-0.017"/>
|
||||
<Kern code="957" val="-0.056"/>
|
||||
<Kern code="959" val="-0.028"/>
|
||||
<Kern code="962" val="-0.028"/>
|
||||
<Kern code="963" val="-0.028"/>
|
||||
<Kern code="964" val="-0.028"/>
|
||||
<Kern code="967" val="-0.028"/>
|
||||
</Char>
|
||||
<Char code="7986" width="0.25" height="0.696" depth="0.01" italic="0.003" />
|
||||
<Char code="7987" width="0.25" height="0.696" depth="0.01" italic="0.003" />
|
||||
<Char code="7988" width="0.25" height="0.696" depth="0.01" >
|
||||
<Kern code="947" val="-0.028"/>
|
||||
<Kern code="951" val="-0.017"/>
|
||||
<Kern code="952" val="-0.017"/>
|
||||
<Kern code="957" val="-0.056"/>
|
||||
<Kern code="959" val="-0.028"/>
|
||||
<Kern code="962" val="-0.028"/>
|
||||
<Kern code="963" val="-0.028"/>
|
||||
<Kern code="964" val="-0.028"/>
|
||||
<Kern code="967" val="-0.028"/>
|
||||
</Char>
|
||||
<Char code="7989" width="0.25" height="0.696" depth="0.01" >
|
||||
<Kern code="947" val="-0.028"/>
|
||||
<Kern code="951" val="-0.017"/>
|
||||
<Kern code="952" val="-0.017"/>
|
||||
<Kern code="957" val="-0.056"/>
|
||||
<Kern code="959" val="-0.028"/>
|
||||
<Kern code="962" val="-0.028"/>
|
||||
<Kern code="963" val="-0.028"/>
|
||||
<Kern code="964" val="-0.028"/>
|
||||
<Kern code="967" val="-0.028"/>
|
||||
</Char>
|
||||
<Char code="7990" width="0.25" height="0.695" depth="0.01" italic="0.008" >
|
||||
<Kern code="947" val="-0.028"/>
|
||||
<Kern code="951" val="-0.017"/>
|
||||
<Kern code="952" val="-0.017"/>
|
||||
<Kern code="957" val="-0.056"/>
|
||||
<Kern code="959" val="-0.028"/>
|
||||
<Kern code="962" val="-0.028"/>
|
||||
<Kern code="963" val="-0.028"/>
|
||||
<Kern code="964" val="-0.028"/>
|
||||
<Kern code="967" val="-0.028"/>
|
||||
</Char>
|
||||
<Char code="7991" width="0.25" height="0.695" depth="0.01" italic="0.008" >
|
||||
<Kern code="947" val="-0.028"/>
|
||||
<Kern code="951" val="-0.017"/>
|
||||
<Kern code="952" val="-0.017"/>
|
||||
<Kern code="957" val="-0.056"/>
|
||||
<Kern code="959" val="-0.028"/>
|
||||
<Kern code="962" val="-0.028"/>
|
||||
<Kern code="963" val="-0.028"/>
|
||||
<Kern code="964" val="-0.028"/>
|
||||
<Kern code="967" val="-0.028"/>
|
||||
</Char>
|
||||
<Char code="8000" width="0.528" height="0.696" depth="0.011" >
|
||||
<Kern code="947" val="-0.028"/>
|
||||
<Kern code="955" val="-0.028"/>
|
||||
<Kern code="957" val="-0.022"/>
|
||||
<Kern code="964" val="-0.022"/>
|
||||
<Kern code="967" val="-0.028"/>
|
||||
</Char>
|
||||
<Char code="8001" width="0.528" height="0.696" depth="0.011" >
|
||||
<Kern code="947" val="-0.028"/>
|
||||
<Kern code="955" val="-0.028"/>
|
||||
<Kern code="957" val="-0.022"/>
|
||||
<Kern code="964" val="-0.022"/>
|
||||
<Kern code="967" val="-0.028"/>
|
||||
</Char>
|
||||
<Char code="8002" width="0.528" height="0.696" depth="0.011" />
|
||||
<Char code="8003" width="0.528" height="0.696" depth="0.011" />
|
||||
<Char code="8004" width="0.528" height="0.696" depth="0.011" >
|
||||
<Kern code="947" val="-0.028"/>
|
||||
<Kern code="955" val="-0.028"/>
|
||||
<Kern code="957" val="-0.022"/>
|
||||
<Kern code="964" val="-0.022"/>
|
||||
<Kern code="967" val="-0.028"/>
|
||||
</Char>
|
||||
<Char code="8005" width="0.528" height="0.696" depth="0.011" >
|
||||
<Kern code="947" val="-0.028"/>
|
||||
<Kern code="955" val="-0.028"/>
|
||||
<Kern code="957" val="-0.022"/>
|
||||
<Kern code="964" val="-0.022"/>
|
||||
<Kern code="967" val="-0.028"/>
|
||||
</Char>
|
||||
<Char code="8016" width="0.5" height="0.696" depth="0.01" />
|
||||
<Char code="8017" width="0.5" height="0.696" depth="0.01" />
|
||||
<Char code="8018" width="0.5" height="0.696" depth="0.01" />
|
||||
<Char code="8019" width="0.5" height="0.696" depth="0.01" />
|
||||
<Char code="8020" width="0.5" height="0.696" depth="0.01" />
|
||||
<Char code="8021" width="0.5" height="0.696" depth="0.01" />
|
||||
<Char code="8022" width="0.5" height="0.695" depth="0.01" />
|
||||
<Char code="8023" width="0.5" height="0.695" depth="0.01" />
|
||||
<Char code="8032" width="0.667" height="0.696" depth="0.011" />
|
||||
<Char code="8033" width="0.667" height="0.696" depth="0.011" />
|
||||
<Char code="8034" width="0.667" height="0.696" depth="0.011" />
|
||||
<Char code="8035" width="0.667" height="0.696" depth="0.011" />
|
||||
<Char code="8036" width="0.667" height="0.696" depth="0.011" />
|
||||
<Char code="8037" width="0.667" height="0.696" depth="0.011" />
|
||||
<Char code="8038" width="0.667" height="0.695" depth="0.011" />
|
||||
<Char code="8039" width="0.667" height="0.695" depth="0.011" />
|
||||
<Char code="8048" width="0.5" height="0.695" depth="0.011" italic="0.045" />
|
||||
<Char code="8050" width="0.43" height="0.695" depth="0.022" />
|
||||
<Char code="8052" width="0.5" height="0.695" depth="0.271" />
|
||||
<Char code="8054" width="0.25" height="0.695" depth="0.01" >
|
||||
<Kern code="947" val="-0.028"/>
|
||||
<Kern code="951" val="-0.017"/>
|
||||
<Kern code="952" val="-0.017"/>
|
||||
<Kern code="957" val="-0.056"/>
|
||||
<Kern code="959" val="-0.028"/>
|
||||
<Kern code="962" val="-0.028"/>
|
||||
<Kern code="963" val="-0.028"/>
|
||||
<Kern code="964" val="-0.028"/>
|
||||
<Kern code="967" val="-0.028"/>
|
||||
</Char>
|
||||
<Char code="8056" width="0.528" height="0.695" depth="0.011" >
|
||||
<Kern code="947" val="-0.028"/>
|
||||
<Kern code="955" val="-0.028"/>
|
||||
<Kern code="957" val="-0.022"/>
|
||||
<Kern code="964" val="-0.022"/>
|
||||
<Kern code="967" val="-0.028"/>
|
||||
</Char>
|
||||
<Char code="8058" width="0.5" height="0.695" depth="0.01" />
|
||||
<Char code="8060" width="0.667" height="0.695" depth="0.011" />
|
||||
<Char code="8064" width="0.5" height="0.696" depth="0.238" italic="0.045" />
|
||||
<Char code="8065" width="0.5" height="0.696" depth="0.238" italic="0.045" />
|
||||
<Char code="8066" width="0.5" height="0.696" depth="0.238" italic="0.045" />
|
||||
<Char code="8067" width="0.5" height="0.696" depth="0.238" italic="0.045" />
|
||||
<Char code="8068" width="0.5" height="0.696" depth="0.238" italic="0.045" />
|
||||
<Char code="8069" width="0.5" height="0.696" depth="0.238" italic="0.045" />
|
||||
<Char code="8070" width="0.5" height="0.696" depth="0.238" italic="0.045" />
|
||||
<Char code="8071" width="0.5" height="0.696" depth="0.238" italic="0.045" />
|
||||
<Char code="8080" width="0.5" height="0.696" depth="0.271" />
|
||||
<Char code="8081" width="0.5" height="0.696" depth="0.271" />
|
||||
<Char code="8082" width="0.5" height="0.696" depth="0.271" />
|
||||
<Char code="8083" width="0.5" height="0.696" depth="0.271" />
|
||||
<Char code="8084" width="0.5" height="0.696" depth="0.271" />
|
||||
<Char code="8085" width="0.5" height="0.696" depth="0.271" />
|
||||
<Char code="8086" width="0.5" height="0.696" depth="0.271" />
|
||||
<Char code="8087" width="0.5" height="0.696" depth="0.271" />
|
||||
<Char code="8096" width="0.667" height="0.696" depth="0.238" />
|
||||
<Char code="8097" width="0.667" height="0.696" depth="0.238" />
|
||||
<Char code="8098" width="0.667" height="0.696" depth="0.238" />
|
||||
<Char code="8099" width="0.667" height="0.696" depth="0.238" />
|
||||
<Char code="8100" width="0.667" height="0.696" depth="0.238" />
|
||||
<Char code="8101" width="0.667" height="0.696" depth="0.238" />
|
||||
<Char code="8102" width="0.667" height="0.695" depth="0.238" />
|
||||
<Char code="8103" width="0.667" height="0.695" depth="0.238" />
|
||||
<Char code="8114" width="0.5" height="0.695" depth="0.238" italic="0.045" />
|
||||
<Char code="8115" width="0.5" height="0.443" depth="0.238" italic="0.045" />
|
||||
<Char code="8116" width="0.5" height="0.695" depth="0.238" italic="0.045" />
|
||||
<Char code="8118" width="0.5" height="0.627" depth="0.011" italic="0.045" />
|
||||
<Char code="8119" width="0.5" height="0.627" depth="0.238" italic="0.045" />
|
||||
<Char code="8124" width="0.667" height="0.685" depth="0.238" >
|
||||
<Kern code="920" val="-0.083"/>
|
||||
<Kern code="927" val="-0.083"/>
|
||||
<Kern code="932" val="-0.083"/>
|
||||
<Kern code="933" val="-0.139"/>
|
||||
<Kern code="934" val="-0.083"/>
|
||||
<Kern code="936" val="-0.122"/>
|
||||
<Kern code="939" val="-0.139"/>
|
||||
</Char>
|
||||
<Char code="8126" width="0.222" height="0.158" depth="0.156" />
|
||||
<Char code="8127" width="0.222" height="0.696" >
|
||||
<Kern code="913" val="-0.139"/>
|
||||
<Kern code="927" val="-0.056"/>
|
||||
<Kern code="937" val="-0.028"/>
|
||||
<Kern code="8124" val="-0.139"/>
|
||||
<Kern code="8188" val="-0.028"/>
|
||||
</Char>
|
||||
<Char code="8128" width="0.333" height="0.626" >
|
||||
<Kern code="913" val="-0.111"/>
|
||||
<Kern code="8124" val="-0.111"/>
|
||||
</Char>
|
||||
<Char code="8129" width="0.444" height="0.696" />
|
||||
<Char code="8130" width="0.5" height="0.695" depth="0.271" />
|
||||
<Char code="8131" width="0.5" height="0.454" depth="0.271" />
|
||||
<Char code="8132" width="0.5" height="0.695" depth="0.271" />
|
||||
<Char code="8134" width="0.5" height="0.627" depth="0.271" />
|
||||
<Char code="8135" width="0.5" height="0.627" depth="0.271" />
|
||||
<Char code="8140" width="0.708" height="0.684" depth="0.238" />
|
||||
<Char code="8141" width="0.278" height="0.696" italic="0.021" >
|
||||
<Kern code="913" val="-0.083"/>
|
||||
<Kern code="927" val="-0.028"/>
|
||||
<Kern code="8124" val="-0.083"/>
|
||||
</Char>
|
||||
<Char code="8142" width="0.278" height="0.696" italic="0.012" >
|
||||
<Kern code="913" val="-0.083"/>
|
||||
<Kern code="927" val="-0.028"/>
|
||||
<Kern code="8124" val="-0.083"/>
|
||||
</Char>
|
||||
<Char code="8143" width="0.333" height="0.696" >
|
||||
<Kern code="913" val="-0.111"/>
|
||||
<Kern code="8124" val="-0.111"/>
|
||||
</Char>
|
||||
<Char code="8146" width="0.25" height="0.695" depth="0.01" >
|
||||
<Kern code="947" val="-0.028"/>
|
||||
<Kern code="951" val="-0.017"/>
|
||||
<Kern code="952" val="-0.017"/>
|
||||
<Kern code="957" val="-0.056"/>
|
||||
<Kern code="959" val="-0.028"/>
|
||||
<Kern code="962" val="-0.028"/>
|
||||
<Kern code="963" val="-0.028"/>
|
||||
<Kern code="964" val="-0.028"/>
|
||||
<Kern code="967" val="-0.028"/>
|
||||
</Char>
|
||||
<Char code="8150" width="0.25" height="0.628" depth="0.01" italic="0.008" >
|
||||
<Kern code="947" val="-0.028"/>
|
||||
<Kern code="951" val="-0.017"/>
|
||||
<Kern code="952" val="-0.017"/>
|
||||
<Kern code="957" val="-0.056"/>
|
||||
<Kern code="959" val="-0.028"/>
|
||||
<Kern code="962" val="-0.028"/>
|
||||
<Kern code="963" val="-0.028"/>
|
||||
<Kern code="964" val="-0.028"/>
|
||||
<Kern code="967" val="-0.028"/>
|
||||
</Char>
|
||||
<Char code="8151" width="0.25" height="0.695" depth="0.01" italic="0.008" >
|
||||
<Kern code="947" val="-0.028"/>
|
||||
<Kern code="951" val="-0.017"/>
|
||||
<Kern code="952" val="-0.017"/>
|
||||
<Kern code="957" val="-0.056"/>
|
||||
<Kern code="959" val="-0.028"/>
|
||||
<Kern code="962" val="-0.028"/>
|
||||
<Kern code="963" val="-0.028"/>
|
||||
<Kern code="964" val="-0.028"/>
|
||||
<Kern code="967" val="-0.028"/>
|
||||
</Char>
|
||||
<Char code="8157" width="0.278" height="0.696" italic="0.021" >
|
||||
<Kern code="913" val="-0.083"/>
|
||||
<Kern code="927" val="-0.028"/>
|
||||
<Kern code="8124" val="-0.083"/>
|
||||
</Char>
|
||||
<Char code="8158" width="0.278" height="0.696" italic="0.012" >
|
||||
<Kern code="913" val="-0.083"/>
|
||||
<Kern code="927" val="-0.028"/>
|
||||
<Kern code="8124" val="-0.083"/>
|
||||
</Char>
|
||||
<Char code="8159" width="0.333" height="0.696" >
|
||||
<Kern code="913" val="-0.111"/>
|
||||
<Kern code="8124" val="-0.111"/>
|
||||
</Char>
|
||||
<Char code="8162" width="0.5" height="0.695" depth="0.01" />
|
||||
<Char code="8164" width="0.472" height="0.696" depth="0.266" />
|
||||
<Char code="8165" width="0.472" height="0.696" depth="0.266" />
|
||||
<Char code="8166" width="0.5" height="0.626" depth="0.01" />
|
||||
<Char code="8167" width="0.5" height="0.695" depth="0.01" />
|
||||
<Char code="8173" width="0.278" height="0.695" />
|
||||
<Char code="8175" width="0.167" height="0.695" italic="0.009" >
|
||||
<Kern code="913" val="-0.111"/>
|
||||
<Kern code="927" val="-0.056"/>
|
||||
<Kern code="937" val="-0.028"/>
|
||||
<Kern code="8124" val="-0.111"/>
|
||||
<Kern code="8188" val="-0.028"/>
|
||||
</Char>
|
||||
<Char code="8178" width="0.667" height="0.695" depth="0.238" />
|
||||
<Char code="8179" width="0.667" height="0.453" depth="0.238" />
|
||||
<Char code="8180" width="0.667" height="0.695" depth="0.238" />
|
||||
<Char code="8182" width="0.667" height="0.626" depth="0.011" />
|
||||
<Char code="8183" width="0.667" height="0.626" depth="0.238" />
|
||||
<Char code="8188" width="0.722" height="0.707" depth="0.238" />
|
||||
<Char code="8190" width="0.222" height="0.696" >
|
||||
<Kern code="913" val="-0.167"/>
|
||||
<Kern code="927" val="-0.056"/>
|
||||
<Kern code="937" val="-0.028"/>
|
||||
<Kern code="8124" val="-0.167"/>
|
||||
<Kern code="8188" val="-0.028"/>
|
||||
</Char>
|
||||
<Char code="8217" width="0.278" height="0.696" >
|
||||
</Char>
|
||||
<Char code="9001" width="0.389" height="0.751" depth="0.249" />
|
||||
<Char code="9002" width="0.389" height="0.751" depth="0.25" />
|
||||
</Font>
|
||||
BIN
3rdparty/MicroTeX/res/greek/fctrpg.ttf
vendored
Normal file
BIN
3rdparty/MicroTeX/res/greek/fctrpg.ttf
vendored
Normal file
Binary file not shown.
215
3rdparty/MicroTeX/res/greek/fctrpg.xml
vendored
Normal file
215
3rdparty/MicroTeX/res/greek/fctrpg.xml
vendored
Normal file
@ -0,0 +1,215 @@
|
||||
<?xml version='1.0'?>
|
||||
<Font name="fctrpg.ttf" id="fctrpg" space="0.525" xHeight="0.438" quad="1" unicode="204">
|
||||
<Char code="32" width="0.525" height="0.0" />
|
||||
<Char code="168" width="0.525" height="0.607" />
|
||||
<Char code="884" width="0.525" height="0.613" />
|
||||
<Char code="885" width="0.525" height="0.001" depth="0.14" />
|
||||
<Char code="890" width="0.525" height="-0.053" depth="0.184" />
|
||||
<Char code="900" width="0.525" height="0.613" />
|
||||
<Char code="901" width="0.525" height="0.613" />
|
||||
<Char code="903" width="0.525" height="0.431" />
|
||||
<Char code="912" width="0.525" height="0.613" depth="0.006" />
|
||||
<Char code="913" width="0.525" height="0.653" />
|
||||
<Char code="914" width="0.525" height="0.641" />
|
||||
<Char code="915" width="0.525" height="0.641" />
|
||||
<Char code="916" width="0.525" height="0.653" />
|
||||
<Char code="917" width="0.525" height="0.641" />
|
||||
<Char code="918" width="0.525" height="0.64" />
|
||||
<Char code="919" width="0.525" height="0.641" />
|
||||
<Char code="920" width="0.525" height="0.652" depth="0.011" />
|
||||
<Char code="921" width="0.525" height="0.641" />
|
||||
<Char code="922" width="0.525" height="0.641" />
|
||||
<Char code="923" width="0.525" height="0.653" />
|
||||
<Char code="924" width="0.525" height="0.641" />
|
||||
<Char code="925" width="0.525" height="0.641" />
|
||||
<Char code="926" width="0.525" height="0.641" />
|
||||
<Char code="927" width="0.525" height="0.652" depth="0.011" />
|
||||
<Char code="928" width="0.525" height="0.641" />
|
||||
<Char code="929" width="0.525" height="0.641" />
|
||||
<Char code="931" width="0.525" height="0.641" />
|
||||
<Char code="932" width="0.525" height="0.641" />
|
||||
<Char code="933" width="0.525" height="0.651" />
|
||||
<Char code="934" width="0.525" height="0.64" />
|
||||
<Char code="935" width="0.525" height="0.641" />
|
||||
<Char code="936" width="0.525" height="0.64" />
|
||||
<Char code="937" width="0.525" height="0.651" />
|
||||
<Char code="938" width="0.525" height="0.783" />
|
||||
<Char code="939" width="0.525" height="0.783" />
|
||||
<Char code="940" width="0.525" height="0.613" depth="0.006" italic="0.002" />
|
||||
<Char code="941" width="0.525" height="0.613" depth="0.011" />
|
||||
<Char code="942" width="0.525" height="0.613" depth="0.232" />
|
||||
<Char code="943" width="0.525" height="0.613" depth="0.006" />
|
||||
<Char code="944" width="0.525" height="0.669" depth="0.006" />
|
||||
<Char code="945" width="0.525" height="0.438" depth="0.006" italic="0.002" />
|
||||
<Char code="946" width="0.525" height="0.647" depth="0.232" />
|
||||
<Char code="947" width="0.525" height="0.438" depth="0.177" />
|
||||
<Char code="948" width="0.525" height="0.637" depth="0.005" />
|
||||
<Char code="949" width="0.525" height="0.443" depth="0.011" />
|
||||
<Char code="950" width="0.525" height="0.651" depth="0.133" />
|
||||
<Char code="951" width="0.525" height="0.442" depth="0.232" />
|
||||
<Char code="952" width="0.525" height="0.652" depth="0.011" />
|
||||
<Char code="953" width="0.525" height="0.437" depth="0.006" />
|
||||
<Char code="954" width="0.525" height="0.445" depth="0.013" />
|
||||
<Char code="955" width="0.525" height="0.642" depth="0.005" />
|
||||
<Char code="956" width="0.525" height="0.442" depth="0.227" />
|
||||
<Char code="957" width="0.525" height="0.438" depth="0.005" />
|
||||
<Char code="958" width="0.525" height="0.651" depth="0.133" />
|
||||
<Char code="959" width="0.525" height="0.438" depth="0.006" />
|
||||
<Char code="960" width="0.525" height="0.432" depth="0.006" />
|
||||
<Char code="961" width="0.525" height="0.437" depth="0.221" />
|
||||
<Char code="962" width="0.525" height="0.437" depth="0.111" />
|
||||
<Char code="963" width="0.525" height="0.437" depth="0.005" />
|
||||
<Char code="964" width="0.525" height="0.431" depth="0.006" />
|
||||
<Char code="965" width="0.525" height="0.443" depth="0.006" />
|
||||
<Char code="966" width="0.525" height="0.443" depth="0.232" />
|
||||
<Char code="967" width="0.525" height="0.439" depth="0.229" />
|
||||
<Char code="968" width="0.525" height="0.651" depth="0.232" />
|
||||
<Char code="969" width="0.525" height="0.442" depth="0.006" />
|
||||
<Char code="970" width="0.525" height="0.641" depth="0.006" />
|
||||
<Char code="971" width="0.525" height="0.64" depth="0.006" />
|
||||
<Char code="972" width="0.525" height="0.613" depth="0.006" />
|
||||
<Char code="973" width="0.525" height="0.613" depth="0.006" />
|
||||
<Char code="974" width="0.525" height="0.613" depth="0.006" />
|
||||
<Char code="984" width="0.525" height="0.647" />
|
||||
<Char code="985" width="0.525" height="0.609" depth="0.055" />
|
||||
<Char code="986" width="0.525" height="0.641" depth="0.028" />
|
||||
<Char code="987" width="0.525" height="0.443" depth="0.018" />
|
||||
<Char code="988" width="0.525" height="0.641" />
|
||||
<Char code="989" width="0.525" height="0.432" depth="0.221" />
|
||||
<Char code="991" width="0.525" height="0.542" depth="0.101" />
|
||||
<Char code="992" width="0.525" height="0.667" />
|
||||
<Char code="993" width="0.525" height="0.64" depth="0.011" />
|
||||
<Char code="7936" width="0.525" height="0.64" depth="0.006" italic="0.002" />
|
||||
<Char code="7937" width="0.525" height="0.64" depth="0.006" italic="0.002" />
|
||||
<Char code="7938" width="0.525" height="0.64" depth="0.006" italic="0.002" />
|
||||
<Char code="7939" width="0.525" height="0.64" depth="0.006" italic="0.002" />
|
||||
<Char code="7940" width="0.525" height="0.64" depth="0.006" italic="0.002" />
|
||||
<Char code="7941" width="0.525" height="0.64" depth="0.006" italic="0.002" />
|
||||
<Char code="7942" width="0.525" height="0.696" depth="0.006" italic="0.002" />
|
||||
<Char code="7943" width="0.525" height="0.696" depth="0.006" italic="0.002" />
|
||||
<Char code="7952" width="0.525" height="0.64" depth="0.011" />
|
||||
<Char code="7953" width="0.525" height="0.64" depth="0.011" />
|
||||
<Char code="7954" width="0.525" height="0.64" depth="0.011" />
|
||||
<Char code="7955" width="0.525" height="0.64" depth="0.011" />
|
||||
<Char code="7956" width="0.525" height="0.64" depth="0.011" />
|
||||
<Char code="7957" width="0.525" height="0.64" depth="0.011" />
|
||||
<Char code="7968" width="0.525" height="0.64" depth="0.232" />
|
||||
<Char code="7969" width="0.525" height="0.64" depth="0.232" />
|
||||
<Char code="7970" width="0.525" height="0.64" depth="0.232" />
|
||||
<Char code="7971" width="0.525" height="0.64" depth="0.232" />
|
||||
<Char code="7972" width="0.525" height="0.64" depth="0.232" />
|
||||
<Char code="7973" width="0.525" height="0.64" depth="0.232" />
|
||||
<Char code="7974" width="0.525" height="0.696" depth="0.232" />
|
||||
<Char code="7975" width="0.525" height="0.696" depth="0.232" />
|
||||
<Char code="7984" width="0.525" height="0.64" depth="0.006" />
|
||||
<Char code="7985" width="0.525" height="0.64" depth="0.006" />
|
||||
<Char code="7986" width="0.525" height="0.64" depth="0.006" />
|
||||
<Char code="7987" width="0.525" height="0.64" depth="0.006" />
|
||||
<Char code="7988" width="0.525" height="0.64" depth="0.006" />
|
||||
<Char code="7989" width="0.525" height="0.64" depth="0.006" />
|
||||
<Char code="7990" width="0.525" height="0.696" depth="0.006" />
|
||||
<Char code="7991" width="0.525" height="0.696" depth="0.006" />
|
||||
<Char code="8000" width="0.525" height="0.64" depth="0.006" />
|
||||
<Char code="8001" width="0.525" height="0.64" depth="0.006" />
|
||||
<Char code="8002" width="0.525" height="0.64" depth="0.006" />
|
||||
<Char code="8003" width="0.525" height="0.64" depth="0.006" />
|
||||
<Char code="8004" width="0.525" height="0.64" depth="0.006" />
|
||||
<Char code="8005" width="0.525" height="0.64" depth="0.006" />
|
||||
<Char code="8016" width="0.525" height="0.64" depth="0.006" />
|
||||
<Char code="8017" width="0.525" height="0.64" depth="0.006" />
|
||||
<Char code="8018" width="0.525" height="0.64" depth="0.006" />
|
||||
<Char code="8019" width="0.525" height="0.64" depth="0.006" />
|
||||
<Char code="8020" width="0.525" height="0.64" depth="0.006" />
|
||||
<Char code="8021" width="0.525" height="0.64" depth="0.006" />
|
||||
<Char code="8022" width="0.525" height="0.696" depth="0.006" />
|
||||
<Char code="8023" width="0.525" height="0.696" depth="0.006" />
|
||||
<Char code="8032" width="0.525" height="0.64" depth="0.006" />
|
||||
<Char code="8033" width="0.525" height="0.64" depth="0.006" />
|
||||
<Char code="8034" width="0.525" height="0.64" depth="0.006" />
|
||||
<Char code="8035" width="0.525" height="0.64" depth="0.006" />
|
||||
<Char code="8036" width="0.525" height="0.64" depth="0.006" />
|
||||
<Char code="8037" width="0.525" height="0.64" depth="0.006" />
|
||||
<Char code="8038" width="0.525" height="0.696" depth="0.006" />
|
||||
<Char code="8039" width="0.525" height="0.696" depth="0.006" />
|
||||
<Char code="8048" width="0.525" height="0.613" depth="0.006" italic="0.002" />
|
||||
<Char code="8050" width="0.525" height="0.614" depth="0.011" />
|
||||
<Char code="8052" width="0.525" height="0.614" depth="0.232" />
|
||||
<Char code="8054" width="0.525" height="0.613" depth="0.006" />
|
||||
<Char code="8056" width="0.525" height="0.614" depth="0.006" />
|
||||
<Char code="8058" width="0.525" height="0.613" depth="0.006" />
|
||||
<Char code="8060" width="0.525" height="0.614" depth="0.006" />
|
||||
<Char code="8064" width="0.525" height="0.64" depth="0.184" italic="0.002" />
|
||||
<Char code="8065" width="0.525" height="0.64" depth="0.184" italic="0.002" />
|
||||
<Char code="8066" width="0.525" height="0.64" depth="0.184" italic="0.002" />
|
||||
<Char code="8067" width="0.525" height="0.64" depth="0.184" italic="0.002" />
|
||||
<Char code="8068" width="0.525" height="0.64" depth="0.184" italic="0.002" />
|
||||
<Char code="8069" width="0.525" height="0.64" depth="0.184" italic="0.002" />
|
||||
<Char code="8070" width="0.525" height="0.696" depth="0.184" italic="0.002" />
|
||||
<Char code="8071" width="0.525" height="0.696" depth="0.184" italic="0.002" />
|
||||
<Char code="8080" width="0.525" height="0.64" depth="0.232" />
|
||||
<Char code="8081" width="0.525" height="0.64" depth="0.232" />
|
||||
<Char code="8082" width="0.525" height="0.64" depth="0.232" />
|
||||
<Char code="8083" width="0.525" height="0.64" depth="0.232" />
|
||||
<Char code="8084" width="0.525" height="0.64" depth="0.232" />
|
||||
<Char code="8085" width="0.525" height="0.64" depth="0.232" />
|
||||
<Char code="8086" width="0.525" height="0.696" depth="0.232" />
|
||||
<Char code="8087" width="0.525" height="0.696" depth="0.232" />
|
||||
<Char code="8096" width="0.525" height="0.64" depth="0.184" />
|
||||
<Char code="8097" width="0.525" height="0.64" depth="0.184" />
|
||||
<Char code="8098" width="0.525" height="0.64" depth="0.184" />
|
||||
<Char code="8099" width="0.525" height="0.64" depth="0.184" />
|
||||
<Char code="8100" width="0.525" height="0.64" depth="0.184" />
|
||||
<Char code="8101" width="0.525" height="0.64" depth="0.184" />
|
||||
<Char code="8102" width="0.525" height="0.696" depth="0.184" />
|
||||
<Char code="8103" width="0.525" height="0.696" depth="0.184" />
|
||||
<Char code="8114" width="0.525" height="0.613" depth="0.184" italic="0.002" />
|
||||
<Char code="8115" width="0.525" height="0.438" depth="0.184" italic="0.002" />
|
||||
<Char code="8116" width="0.525" height="0.613" depth="0.184" italic="0.002" />
|
||||
<Char code="8118" width="0.525" height="0.641" depth="0.006" italic="0.002" />
|
||||
<Char code="8119" width="0.525" height="0.641" depth="0.184" italic="0.002" />
|
||||
<Char code="8124" width="0.525" height="0.653" depth="0.184" />
|
||||
<Char code="8126" width="0.525" height="0.137" depth="0.135" />
|
||||
<Char code="8127" width="0.525" height="0.64" />
|
||||
<Char code="8128" width="0.525" height="0.641" />
|
||||
<Char code="8129" width="0.525" height="0.696" />
|
||||
<Char code="8130" width="0.525" height="0.614" depth="0.232" />
|
||||
<Char code="8131" width="0.525" height="0.442" depth="0.232" />
|
||||
<Char code="8132" width="0.525" height="0.613" depth="0.232" />
|
||||
<Char code="8134" width="0.525" height="0.641" depth="0.232" />
|
||||
<Char code="8135" width="0.525" height="0.641" depth="0.232" />
|
||||
<Char code="8140" width="0.525" height="0.641" depth="0.184" />
|
||||
<Char code="8141" width="0.525" height="0.64" >
|
||||
<Kern code="913" val="-0.087"/>
|
||||
<Kern code="927" val="-0.029"/>
|
||||
<Kern code="8124" val="-0.087"/>
|
||||
</Char>
|
||||
<Char code="8142" width="0.525" height="0.64" />
|
||||
<Char code="8143" width="0.525" height="0.696" />
|
||||
<Char code="8146" width="0.525" height="0.613" depth="0.006" />
|
||||
<Char code="8150" width="0.525" height="0.641" depth="0.006" />
|
||||
<Char code="8151" width="0.525" height="0.696" depth="0.006" />
|
||||
<Char code="8157" width="0.525" height="0.64" >
|
||||
<Kern code="913" val="-0.087"/>
|
||||
<Kern code="927" val="-0.029"/>
|
||||
<Kern code="8124" val="-0.087"/>
|
||||
</Char>
|
||||
<Char code="8158" width="0.525" height="0.64" />
|
||||
<Char code="8159" width="0.525" height="0.696" />
|
||||
<Char code="8162" width="0.525" height="0.668" depth="0.006" />
|
||||
<Char code="8164" width="0.525" height="0.64" depth="0.221" />
|
||||
<Char code="8165" width="0.525" height="0.64" depth="0.221" />
|
||||
<Char code="8166" width="0.525" height="0.641" depth="0.006" />
|
||||
<Char code="8167" width="0.525" height="0.696" depth="0.006" />
|
||||
<Char code="8173" width="0.525" height="0.613" />
|
||||
<Char code="8175" width="0.525" height="0.614" />
|
||||
<Char code="8178" width="0.525" height="0.614" depth="0.184" />
|
||||
<Char code="8179" width="0.525" height="0.442" depth="0.184" />
|
||||
<Char code="8180" width="0.525" height="0.613" depth="0.184" />
|
||||
<Char code="8182" width="0.525" height="0.641" depth="0.006" />
|
||||
<Char code="8183" width="0.525" height="0.641" depth="0.184" />
|
||||
<Char code="8188" width="0.525" height="0.651" depth="0.184" />
|
||||
<Char code="8190" width="0.525" height="0.64" />
|
||||
<Char code="8217" width="0.525" height="0.641" />
|
||||
<Char code="9001" width="0.525" height="0.695" depth="0.083" />
|
||||
<Char code="9002" width="0.525" height="0.695" depth="0.083" />
|
||||
</Font>
|
||||
204
3rdparty/MicroTeX/res/greek/greek.map.xml
vendored
Normal file
204
3rdparty/MicroTeX/res/greek/greek.map.xml
vendored
Normal file
@ -0,0 +1,204 @@
|
||||
<?xml version='1.0'?>
|
||||
<SymbolMappings>
|
||||
<SymbolMapping name="ʹ" ch="884" fontId="fcmrpg"/>
|
||||
<SymbolMapping name="͵" ch="885" fontId="fcmrpg"/>
|
||||
<SymbolMapping name="ͺ" ch="890" fontId="fcmrpg"/>
|
||||
<SymbolMapping name="΄" ch="900" fontId="fcmrpg"/>
|
||||
<SymbolMapping name="΅" ch="901" fontId="fcmrpg"/>
|
||||
<SymbolMapping name="·" ch="903" fontId="fcmrpg"/>
|
||||
<SymbolMapping name="ΐ" ch="912" fontId="fcmrpg"/>
|
||||
<SymbolMapping name="Α" ch="913" fontId="fcmrpg"/>
|
||||
<SymbolMapping name="Β" ch="914" fontId="fcmrpg"/>
|
||||
<SymbolMapping name="Γ" ch="915" fontId="fcmrpg"/>
|
||||
<SymbolMapping name="Δ" ch="916" fontId="fcmrpg"/>
|
||||
<SymbolMapping name="Ε" ch="917" fontId="fcmrpg"/>
|
||||
<SymbolMapping name="Ζ" ch="918" fontId="fcmrpg"/>
|
||||
<SymbolMapping name="Η" ch="919" fontId="fcmrpg"/>
|
||||
<SymbolMapping name="Θ" ch="920" fontId="fcmrpg"/>
|
||||
<SymbolMapping name="Ι" ch="921" fontId="fcmrpg"/>
|
||||
<SymbolMapping name="Κ" ch="922" fontId="fcmrpg"/>
|
||||
<SymbolMapping name="Λ" ch="923" fontId="fcmrpg"/>
|
||||
<SymbolMapping name="Μ" ch="924" fontId="fcmrpg"/>
|
||||
<SymbolMapping name="Ν" ch="925" fontId="fcmrpg"/>
|
||||
<SymbolMapping name="Ξ" ch="926" fontId="fcmrpg"/>
|
||||
<SymbolMapping name="Ο" ch="927" fontId="fcmrpg"/>
|
||||
<SymbolMapping name="Π" ch="928" fontId="fcmrpg"/>
|
||||
<SymbolMapping name="Ρ" ch="929" fontId="fcmrpg"/>
|
||||
<SymbolMapping name="Σ" ch="931" fontId="fcmrpg"/>
|
||||
<SymbolMapping name="Τ" ch="932" fontId="fcmrpg"/>
|
||||
<SymbolMapping name="Υ" ch="933" fontId="fcmrpg"/>
|
||||
<SymbolMapping name="Φ" ch="934" fontId="fcmrpg"/>
|
||||
<SymbolMapping name="Χ" ch="935" fontId="fcmrpg"/>
|
||||
<SymbolMapping name="Ψ" ch="936" fontId="fcmrpg"/>
|
||||
<SymbolMapping name="Ω" ch="937" fontId="fcmrpg"/>
|
||||
<SymbolMapping name="Ϊ" ch="938" fontId="fcmrpg"/>
|
||||
<SymbolMapping name="Ϋ" ch="939" fontId="fcmrpg"/>
|
||||
<SymbolMapping name="ά" ch="940" fontId="fcmrpg"/>
|
||||
<SymbolMapping name="έ" ch="941" fontId="fcmrpg"/>
|
||||
<SymbolMapping name="ή" ch="942" fontId="fcmrpg"/>
|
||||
<SymbolMapping name="ί" ch="943" fontId="fcmrpg"/>
|
||||
<SymbolMapping name="ΰ" ch="944" fontId="fcmrpg"/>
|
||||
<SymbolMapping name="α" ch="945" fontId="fcmrpg"/>
|
||||
<SymbolMapping name="β" ch="946" fontId="fcmrpg"/>
|
||||
<SymbolMapping name="γ" ch="947" fontId="fcmrpg"/>
|
||||
<SymbolMapping name="δ" ch="948" fontId="fcmrpg"/>
|
||||
<SymbolMapping name="ε" ch="949" fontId="fcmrpg"/>
|
||||
<SymbolMapping name="ζ" ch="950" fontId="fcmrpg"/>
|
||||
<SymbolMapping name="η" ch="951" fontId="fcmrpg"/>
|
||||
<SymbolMapping name="θ" ch="952" fontId="fcmrpg"/>
|
||||
<SymbolMapping name="ι" ch="953" fontId="fcmrpg"/>
|
||||
<SymbolMapping name="κ" ch="954" fontId="fcmrpg"/>
|
||||
<SymbolMapping name="λ" ch="955" fontId="fcmrpg"/>
|
||||
<SymbolMapping name="μ" ch="956" fontId="fcmrpg"/>
|
||||
<SymbolMapping name="ν" ch="957" fontId="fcmrpg"/>
|
||||
<SymbolMapping name="ξ" ch="958" fontId="fcmrpg"/>
|
||||
<SymbolMapping name="ο" ch="959" fontId="fcmrpg"/>
|
||||
<SymbolMapping name="π" ch="960" fontId="fcmrpg"/>
|
||||
<SymbolMapping name="ρ" ch="961" fontId="fcmrpg"/>
|
||||
<SymbolMapping name="ς" ch="962" fontId="fcmrpg"/>
|
||||
<SymbolMapping name="σ" ch="963" fontId="fcmrpg"/>
|
||||
<SymbolMapping name="τ" ch="964" fontId="fcmrpg"/>
|
||||
<SymbolMapping name="υ" ch="965" fontId="fcmrpg"/>
|
||||
<SymbolMapping name="φ" ch="966" fontId="fcmrpg"/>
|
||||
<SymbolMapping name="χ" ch="967" fontId="fcmrpg"/>
|
||||
<SymbolMapping name="ψ" ch="968" fontId="fcmrpg"/>
|
||||
<SymbolMapping name="ω" ch="969" fontId="fcmrpg"/>
|
||||
<SymbolMapping name="ϊ" ch="970" fontId="fcmrpg"/>
|
||||
<SymbolMapping name="ϋ" ch="971" fontId="fcmrpg"/>
|
||||
<SymbolMapping name="ό" ch="972" fontId="fcmrpg"/>
|
||||
<SymbolMapping name="ύ" ch="973" fontId="fcmrpg"/>
|
||||
<SymbolMapping name="ώ" ch="974" fontId="fcmrpg"/>
|
||||
<SymbolMapping name="ϑ" ch="977" fontId="fcmrpg"/>
|
||||
<SymbolMapping name="Ϙ" ch="984" fontId="fcmrpg"/>
|
||||
<SymbolMapping name="ϙ" ch="985" fontId="fcmrpg"/>
|
||||
<SymbolMapping name="Ϛ" ch="986" fontId="fcmrpg"/>
|
||||
<SymbolMapping name="ϛ" ch="987" fontId="fcmrpg"/>
|
||||
<SymbolMapping name="Ϝ" ch="988" fontId="fcmrpg"/>
|
||||
<SymbolMapping name="ϝ" ch="989" fontId="fcmrpg"/>
|
||||
<SymbolMapping name="ϟ" ch="991" fontId="fcmrpg"/>
|
||||
<SymbolMapping name="Ϡ" ch="992" fontId="fcmrpg"/>
|
||||
<SymbolMapping name="ϡ" ch="993" fontId="fcmrpg"/>
|
||||
<SymbolMapping name="ἀ" ch="7936" fontId="fcmrpg"/>
|
||||
<SymbolMapping name="ἁ" ch="7937" fontId="fcmrpg"/>
|
||||
<SymbolMapping name="ἂ" ch="7938" fontId="fcmrpg"/>
|
||||
<SymbolMapping name="ἃ" ch="7939" fontId="fcmrpg"/>
|
||||
<SymbolMapping name="ἄ" ch="7940" fontId="fcmrpg"/>
|
||||
<SymbolMapping name="ἅ" ch="7941" fontId="fcmrpg"/>
|
||||
<SymbolMapping name="ἆ" ch="7942" fontId="fcmrpg"/>
|
||||
<SymbolMapping name="ἇ" ch="7943" fontId="fcmrpg"/>
|
||||
<SymbolMapping name="ἐ" ch="7952" fontId="fcmrpg"/>
|
||||
<SymbolMapping name="ἑ" ch="7953" fontId="fcmrpg"/>
|
||||
<SymbolMapping name="ἒ" ch="7954" fontId="fcmrpg"/>
|
||||
<SymbolMapping name="ἓ" ch="7955" fontId="fcmrpg"/>
|
||||
<SymbolMapping name="ἔ" ch="7956" fontId="fcmrpg"/>
|
||||
<SymbolMapping name="ἕ" ch="7957" fontId="fcmrpg"/>
|
||||
<SymbolMapping name="ἠ" ch="7968" fontId="fcmrpg"/>
|
||||
<SymbolMapping name="ἡ" ch="7969" fontId="fcmrpg"/>
|
||||
<SymbolMapping name="ἢ" ch="7970" fontId="fcmrpg"/>
|
||||
<SymbolMapping name="ἣ" ch="7971" fontId="fcmrpg"/>
|
||||
<SymbolMapping name="ἤ" ch="7972" fontId="fcmrpg"/>
|
||||
<SymbolMapping name="ἥ" ch="7973" fontId="fcmrpg"/>
|
||||
<SymbolMapping name="ἦ" ch="7974" fontId="fcmrpg"/>
|
||||
<SymbolMapping name="ἧ" ch="7975" fontId="fcmrpg"/>
|
||||
<SymbolMapping name="ἰ" ch="7984" fontId="fcmrpg"/>
|
||||
<SymbolMapping name="ἱ" ch="7985" fontId="fcmrpg"/>
|
||||
<SymbolMapping name="ἲ" ch="7986" fontId="fcmrpg"/>
|
||||
<SymbolMapping name="ἳ" ch="7987" fontId="fcmrpg"/>
|
||||
<SymbolMapping name="ἴ" ch="7988" fontId="fcmrpg"/>
|
||||
<SymbolMapping name="ἵ" ch="7989" fontId="fcmrpg"/>
|
||||
<SymbolMapping name="ἶ" ch="7990" fontId="fcmrpg"/>
|
||||
<SymbolMapping name="ἷ" ch="7991" fontId="fcmrpg"/>
|
||||
<SymbolMapping name="ὀ" ch="8000" fontId="fcmrpg"/>
|
||||
<SymbolMapping name="ὁ" ch="8001" fontId="fcmrpg"/>
|
||||
<SymbolMapping name="ὂ" ch="8002" fontId="fcmrpg"/>
|
||||
<SymbolMapping name="ὃ" ch="8003" fontId="fcmrpg"/>
|
||||
<SymbolMapping name="ὄ" ch="8004" fontId="fcmrpg"/>
|
||||
<SymbolMapping name="ὅ" ch="8005" fontId="fcmrpg"/>
|
||||
<SymbolMapping name="ὐ" ch="8016" fontId="fcmrpg"/>
|
||||
<SymbolMapping name="ὑ" ch="8017" fontId="fcmrpg"/>
|
||||
<SymbolMapping name="ὒ" ch="8018" fontId="fcmrpg"/>
|
||||
<SymbolMapping name="ὓ" ch="8019" fontId="fcmrpg"/>
|
||||
<SymbolMapping name="ὔ" ch="8020" fontId="fcmrpg"/>
|
||||
<SymbolMapping name="ὕ" ch="8021" fontId="fcmrpg"/>
|
||||
<SymbolMapping name="ὖ" ch="8022" fontId="fcmrpg"/>
|
||||
<SymbolMapping name="ὗ" ch="8023" fontId="fcmrpg"/>
|
||||
<SymbolMapping name="ὠ" ch="8032" fontId="fcmrpg"/>
|
||||
<SymbolMapping name="ὡ" ch="8033" fontId="fcmrpg"/>
|
||||
<SymbolMapping name="ὢ" ch="8034" fontId="fcmrpg"/>
|
||||
<SymbolMapping name="ὣ" ch="8035" fontId="fcmrpg"/>
|
||||
<SymbolMapping name="ὤ" ch="8036" fontId="fcmrpg"/>
|
||||
<SymbolMapping name="ὥ" ch="8037" fontId="fcmrpg"/>
|
||||
<SymbolMapping name="ὦ" ch="8038" fontId="fcmrpg"/>
|
||||
<SymbolMapping name="ὧ" ch="8039" fontId="fcmrpg"/>
|
||||
<SymbolMapping name="ὰ" ch="8048" fontId="fcmrpg"/>
|
||||
<SymbolMapping name="ὲ" ch="8050" fontId="fcmrpg"/>
|
||||
<SymbolMapping name="ὴ" ch="8052" fontId="fcmrpg"/>
|
||||
<SymbolMapping name="ὶ" ch="8054" fontId="fcmrpg"/>
|
||||
<SymbolMapping name="ὸ" ch="8056" fontId="fcmrpg"/>
|
||||
<SymbolMapping name="ὺ" ch="8058" fontId="fcmrpg"/>
|
||||
<SymbolMapping name="ὼ" ch="8060" fontId="fcmrpg"/>
|
||||
<SymbolMapping name="ᾀ" ch="8064" fontId="fcmrpg"/>
|
||||
<SymbolMapping name="ᾁ" ch="8065" fontId="fcmrpg"/>
|
||||
<SymbolMapping name="ᾂ" ch="8066" fontId="fcmrpg"/>
|
||||
<SymbolMapping name="ᾃ" ch="8067" fontId="fcmrpg"/>
|
||||
<SymbolMapping name="ᾄ" ch="8068" fontId="fcmrpg"/>
|
||||
<SymbolMapping name="ᾅ" ch="8069" fontId="fcmrpg"/>
|
||||
<SymbolMapping name="ᾆ" ch="8070" fontId="fcmrpg"/>
|
||||
<SymbolMapping name="ᾇ" ch="8071" fontId="fcmrpg"/>
|
||||
<SymbolMapping name="ᾐ" ch="8080" fontId="fcmrpg"/>
|
||||
<SymbolMapping name="ᾑ" ch="8081" fontId="fcmrpg"/>
|
||||
<SymbolMapping name="ᾒ" ch="8082" fontId="fcmrpg"/>
|
||||
<SymbolMapping name="ᾓ" ch="8083" fontId="fcmrpg"/>
|
||||
<SymbolMapping name="ᾔ" ch="8084" fontId="fcmrpg"/>
|
||||
<SymbolMapping name="ᾕ" ch="8085" fontId="fcmrpg"/>
|
||||
<SymbolMapping name="ᾖ" ch="8086" fontId="fcmrpg"/>
|
||||
<SymbolMapping name="ᾗ" ch="8087" fontId="fcmrpg"/>
|
||||
<SymbolMapping name="ᾠ" ch="8096" fontId="fcmrpg"/>
|
||||
<SymbolMapping name="ᾡ" ch="8097" fontId="fcmrpg"/>
|
||||
<SymbolMapping name="ᾢ" ch="8098" fontId="fcmrpg"/>
|
||||
<SymbolMapping name="ᾣ" ch="8099" fontId="fcmrpg"/>
|
||||
<SymbolMapping name="ᾤ" ch="8100" fontId="fcmrpg"/>
|
||||
<SymbolMapping name="ᾥ" ch="8101" fontId="fcmrpg"/>
|
||||
<SymbolMapping name="ᾦ" ch="8102" fontId="fcmrpg"/>
|
||||
<SymbolMapping name="ᾧ" ch="8103" fontId="fcmrpg"/>
|
||||
<SymbolMapping name="ᾲ" ch="8114" fontId="fcmrpg"/>
|
||||
<SymbolMapping name="ᾳ" ch="8115" fontId="fcmrpg"/>
|
||||
<SymbolMapping name="ᾴ" ch="8116" fontId="fcmrpg"/>
|
||||
<SymbolMapping name="ᾶ" ch="8118" fontId="fcmrpg"/>
|
||||
<SymbolMapping name="ᾷ" ch="8119" fontId="fcmrpg"/>
|
||||
<SymbolMapping name="ᾼ" ch="8124" fontId="fcmrpg"/>
|
||||
<SymbolMapping name="ι" ch="8126" fontId="fcmrpg"/>
|
||||
<SymbolMapping name="᾿" ch="8127" fontId="fcmrpg"/>
|
||||
<SymbolMapping name="῀" ch="8128" fontId="fcmrpg"/>
|
||||
<SymbolMapping name="῁" ch="8129" fontId="fcmrpg"/>
|
||||
<SymbolMapping name="ῂ" ch="8130" fontId="fcmrpg"/>
|
||||
<SymbolMapping name="ῃ" ch="8131" fontId="fcmrpg"/>
|
||||
<SymbolMapping name="ῄ" ch="8132" fontId="fcmrpg"/>
|
||||
<SymbolMapping name="ῆ" ch="8134" fontId="fcmrpg"/>
|
||||
<SymbolMapping name="ῇ" ch="8135" fontId="fcmrpg"/>
|
||||
<SymbolMapping name="ῌ" ch="8140" fontId="fcmrpg"/>
|
||||
<SymbolMapping name="῍" ch="8141" fontId="fcmrpg"/>
|
||||
<SymbolMapping name="῎" ch="8142" fontId="fcmrpg"/>
|
||||
<SymbolMapping name="῏" ch="8143" fontId="fcmrpg"/>
|
||||
<SymbolMapping name="ῒ" ch="8146" fontId="fcmrpg"/>
|
||||
<SymbolMapping name="ῖ" ch="8150" fontId="fcmrpg"/>
|
||||
<SymbolMapping name="ῗ" ch="8151" fontId="fcmrpg"/>
|
||||
<SymbolMapping name="῝" ch="8157" fontId="fcmrpg"/>
|
||||
<SymbolMapping name="῞" ch="8158" fontId="fcmrpg"/>
|
||||
<SymbolMapping name="῟" ch="8159" fontId="fcmrpg"/>
|
||||
<SymbolMapping name="ῢ" ch="8162" fontId="fcmrpg"/>
|
||||
<SymbolMapping name="ῤ" ch="8164" fontId="fcmrpg"/>
|
||||
<SymbolMapping name="ῥ" ch="8165" fontId="fcmrpg"/>
|
||||
<SymbolMapping name="ῦ" ch="8166" fontId="fcmrpg"/>
|
||||
<SymbolMapping name="ῧ" ch="8167" fontId="fcmrpg"/>
|
||||
<SymbolMapping name="῭" ch="8173" fontId="fcmrpg"/>
|
||||
<SymbolMapping name="`" ch="8175" fontId="fcmrpg"/>
|
||||
<SymbolMapping name="ῲ" ch="8178" fontId="fcmrpg"/>
|
||||
<SymbolMapping name="ῳ" ch="8179" fontId="fcmrpg"/>
|
||||
<SymbolMapping name="ῴ" ch="8180" fontId="fcmrpg"/>
|
||||
<SymbolMapping name="ῶ" ch="8182" fontId="fcmrpg"/>
|
||||
<SymbolMapping name="ῷ" ch="8183" fontId="fcmrpg"/>
|
||||
<SymbolMapping name="ῼ" ch="8188" fontId="fcmrpg"/>
|
||||
<SymbolMapping name="῾" ch="8190" fontId="fcmrpg"/>
|
||||
<SymbolMapping name="’" ch="8217" fontId="fcmrpg"/>
|
||||
</SymbolMappings>
|
||||
27
3rdparty/MicroTeX/res/greek/language_greek.xml
vendored
Normal file
27
3rdparty/MicroTeX/res/greek/language_greek.xml
vendored
Normal file
@ -0,0 +1,27 @@
|
||||
<?xml version='1.0'?>
|
||||
<!--
|
||||
language_greek.xml
|
||||
-->
|
||||
|
||||
<TeXFont>
|
||||
|
||||
<SymbolMappings>
|
||||
<Mapping include="greek.map.xml" />
|
||||
</SymbolMappings>
|
||||
|
||||
<FontDescriptions>
|
||||
<Metrics include="fcmbipg.xml" />
|
||||
<Metrics include="fcmbpg.xml" />
|
||||
<Metrics include="fcmripg.xml" />
|
||||
<Metrics include="fcmrpg.xml" />
|
||||
<Metrics include="fcsbpg.xml" />
|
||||
<Metrics include="fcsropg.xml" />
|
||||
<Metrics include="fcsrpg.xml" />
|
||||
<Metrics include="fctrpg.xml" />
|
||||
</FontDescriptions>
|
||||
|
||||
<TeXSymbols include="symbols_greek.xml" />
|
||||
|
||||
<FormulaSettings include="mappings_greek.xml" />
|
||||
|
||||
</TeXFont>
|
||||
281
3rdparty/MicroTeX/res/greek/mappings_greek.xml
vendored
Normal file
281
3rdparty/MicroTeX/res/greek/mappings_greek.xml
vendored
Normal file
@ -0,0 +1,281 @@
|
||||
<?xml version='1.0'?>
|
||||
<!--
|
||||
mappings_greek.xml
|
||||
-->
|
||||
|
||||
<FormulaSettings>
|
||||
<CharacterToSymbolMappings>
|
||||
<Map char="ʹ" symbol="ʹ"/>
|
||||
<Map char="͵" symbol="͵"/>
|
||||
<Map char="ͺ" symbol="ͺ"/>
|
||||
<Map char="΄" symbol="΄"/>
|
||||
<Map char="΅" symbol="΅"/>
|
||||
<Map char="·" symbol="·"/>
|
||||
<Map char="ΐ" symbol="ΐ"/>
|
||||
<Map char="Ϊ" symbol="Ϊ"/>
|
||||
<Map char="Ϋ" symbol="Ϋ"/>
|
||||
<Map char="ά" symbol="ά"/>
|
||||
<Map char="έ" symbol="έ"/>
|
||||
<Map char="ή" symbol="ή"/>
|
||||
<Map char="ί" symbol="ί"/>
|
||||
<Map char="ΰ" symbol="ΰ"/>
|
||||
<Map char="ϊ" symbol="ϊ"/>
|
||||
<Map char="ϋ" symbol="ϋ"/>
|
||||
<Map char="ό" symbol="ό"/>
|
||||
<Map char="ύ" symbol="ύ"/>
|
||||
<Map char="ώ" symbol="ώ"/>
|
||||
<Map char="Ϙ" symbol="Ϙ"/>
|
||||
<Map char="ϙ" symbol="ϙ"/>
|
||||
<Map char="Ϛ" symbol="Ϛ"/>
|
||||
<Map char="ϛ" symbol="ϛ"/>
|
||||
<Map char="Ϝ" symbol="Ϝ"/>
|
||||
<Map char="ϝ" symbol="ϝ"/>
|
||||
<Map char="ϟ" symbol="ϟ"/>
|
||||
<Map char="Ϡ" symbol="Ϡ"/>
|
||||
<Map char="ϡ" symbol="ϡ"/>
|
||||
<Map char="ἀ" symbol="ἀ"/>
|
||||
<Map char="ἁ" symbol="ἁ"/>
|
||||
<Map char="ἂ" symbol="ἂ"/>
|
||||
<Map char="ἃ" symbol="ἃ"/>
|
||||
<Map char="ἄ" symbol="ἄ"/>
|
||||
<Map char="ἅ" symbol="ἅ"/>
|
||||
<Map char="ἆ" symbol="ἆ"/>
|
||||
<Map char="ἇ" symbol="ἇ"/>
|
||||
<Map char="ἐ" symbol="ἐ"/>
|
||||
<Map char="ἑ" symbol="ἑ"/>
|
||||
<Map char="ἒ" symbol="ἒ"/>
|
||||
<Map char="ἓ" symbol="ἓ"/>
|
||||
<Map char="ἔ" symbol="ἔ"/>
|
||||
<Map char="ἕ" symbol="ἕ"/>
|
||||
<Map char="ἠ" symbol="ἠ"/>
|
||||
<Map char="ἡ" symbol="ἡ"/>
|
||||
<Map char="ἢ" symbol="ἢ"/>
|
||||
<Map char="ἣ" symbol="ἣ"/>
|
||||
<Map char="ἤ" symbol="ἤ"/>
|
||||
<Map char="ἥ" symbol="ἥ"/>
|
||||
<Map char="ἦ" symbol="ἦ"/>
|
||||
<Map char="ἧ" symbol="ἧ"/>
|
||||
<Map char="ἰ" symbol="ἰ"/>
|
||||
<Map char="ἱ" symbol="ἱ"/>
|
||||
<Map char="ἲ" symbol="ἲ"/>
|
||||
<Map char="ἳ" symbol="ἳ"/>
|
||||
<Map char="ἴ" symbol="ἴ"/>
|
||||
<Map char="ἵ" symbol="ἵ"/>
|
||||
<Map char="ἶ" symbol="ἶ"/>
|
||||
<Map char="ἷ" symbol="ἷ"/>
|
||||
<Map char="ὀ" symbol="ὀ"/>
|
||||
<Map char="ὁ" symbol="ὁ"/>
|
||||
<Map char="ὂ" symbol="ὂ"/>
|
||||
<Map char="ὃ" symbol="ὃ"/>
|
||||
<Map char="ὄ" symbol="ὄ"/>
|
||||
<Map char="ὅ" symbol="ὅ"/>
|
||||
<Map char="ὐ" symbol="ὐ"/>
|
||||
<Map char="ὑ" symbol="ὑ"/>
|
||||
<Map char="ὒ" symbol="ὒ"/>
|
||||
<Map char="ὓ" symbol="ὓ"/>
|
||||
<Map char="ὔ" symbol="ὔ"/>
|
||||
<Map char="ὕ" symbol="ὕ"/>
|
||||
<Map char="ὖ" symbol="ὖ"/>
|
||||
<Map char="ὗ" symbol="ὗ"/>
|
||||
<Map char="ὠ" symbol="ὠ"/>
|
||||
<Map char="ὡ" symbol="ὡ"/>
|
||||
<Map char="ὢ" symbol="ὢ"/>
|
||||
<Map char="ὣ" symbol="ὣ"/>
|
||||
<Map char="ὤ" symbol="ὤ"/>
|
||||
<Map char="ὥ" symbol="ὥ"/>
|
||||
<Map char="ὦ" symbol="ὦ"/>
|
||||
<Map char="ὧ" symbol="ὧ"/>
|
||||
<Map char="ὰ" symbol="ὰ"/>
|
||||
<Map char="ὲ" symbol="ὲ"/>
|
||||
<Map char="ὴ" symbol="ὴ"/>
|
||||
<Map char="ὶ" symbol="ὶ"/>
|
||||
<Map char="ὸ" symbol="ὸ"/>
|
||||
<Map char="ὺ" symbol="ὺ"/>
|
||||
<Map char="ὼ" symbol="ὼ"/>
|
||||
<Map char="ᾀ" symbol="ᾀ"/>
|
||||
<Map char="ᾁ" symbol="ᾁ"/>
|
||||
<Map char="ᾂ" symbol="ᾂ"/>
|
||||
<Map char="ᾃ" symbol="ᾃ"/>
|
||||
<Map char="ᾄ" symbol="ᾄ"/>
|
||||
<Map char="ᾅ" symbol="ᾅ"/>
|
||||
<Map char="ᾆ" symbol="ᾆ"/>
|
||||
<Map char="ᾇ" symbol="ᾇ"/>
|
||||
<Map char="ᾐ" symbol="ᾐ"/>
|
||||
<Map char="ᾑ" symbol="ᾑ"/>
|
||||
<Map char="ᾒ" symbol="ᾒ"/>
|
||||
<Map char="ᾓ" symbol="ᾓ"/>
|
||||
<Map char="ᾔ" symbol="ᾔ"/>
|
||||
<Map char="ᾕ" symbol="ᾕ"/>
|
||||
<Map char="ᾖ" symbol="ᾖ"/>
|
||||
<Map char="ᾗ" symbol="ᾗ"/>
|
||||
<Map char="ᾠ" symbol="ᾠ"/>
|
||||
<Map char="ᾡ" symbol="ᾡ"/>
|
||||
<Map char="ᾢ" symbol="ᾢ"/>
|
||||
<Map char="ᾣ" symbol="ᾣ"/>
|
||||
<Map char="ᾤ" symbol="ᾤ"/>
|
||||
<Map char="ᾥ" symbol="ᾥ"/>
|
||||
<Map char="ᾦ" symbol="ᾦ"/>
|
||||
<Map char="ᾧ" symbol="ᾧ"/>
|
||||
<Map char="ᾲ" symbol="ᾲ"/>
|
||||
<Map char="ᾳ" symbol="ᾳ"/>
|
||||
<Map char="ᾴ" symbol="ᾴ"/>
|
||||
<Map char="ᾶ" symbol="ᾶ"/>
|
||||
<Map char="ᾷ" symbol="ᾷ"/>
|
||||
<Map char="ᾼ" symbol="ᾼ"/>
|
||||
<Map char="᾽" symbol="᾿"/>
|
||||
<Map char="ι" symbol="ι"/>
|
||||
<Map char="᾿" symbol="᾿"/>
|
||||
<Map char="῀" symbol="῀"/>
|
||||
<Map char="῁" symbol="῁"/>
|
||||
<Map char="ῂ" symbol="ῂ"/>
|
||||
<Map char="ῃ" symbol="ῃ"/>
|
||||
<Map char="ῄ" symbol="ῄ"/>
|
||||
<Map char="ῆ" symbol="ῆ"/>
|
||||
<Map char="ῇ" symbol="ῇ"/>
|
||||
<Map char="ῌ" symbol="ῌ"/>
|
||||
<Map char="῍" symbol="῍"/>
|
||||
<Map char="῎" symbol="῎"/>
|
||||
<Map char="῏" symbol="῏"/>
|
||||
<Map char="ῒ" symbol="ῒ"/>
|
||||
<Map char="ῖ" symbol="ῖ"/>
|
||||
<Map char="ῗ" symbol="ῗ"/>
|
||||
<Map char="῝" symbol="῝"/>
|
||||
<Map char="῞" symbol="῞"/>
|
||||
<Map char="῟" symbol="῟"/>
|
||||
<Map char="ῢ" symbol="ῢ"/>
|
||||
<Map char="ῤ" symbol="ῤ"/>
|
||||
<Map char="ῥ" symbol="ῥ"/>
|
||||
<Map char="ῦ" symbol="ῦ"/>
|
||||
<Map char="ῧ" symbol="ῧ"/>
|
||||
<Map char="῭" symbol="῭"/>
|
||||
<Map char="΅" symbol="΅"/>
|
||||
<Map char="`" symbol="`"/>
|
||||
<Map char="ῲ" symbol="ῲ"/>
|
||||
<Map char="ῳ" symbol="ῳ"/>
|
||||
<Map char="ῴ" symbol="ῴ"/>
|
||||
<Map char="ῶ" symbol="ῶ"/>
|
||||
<Map char="ῷ" symbol="ῷ"/>
|
||||
<Map char="ῼ" symbol="ῼ"/>
|
||||
<Map char="´" symbol="ʹ"/>
|
||||
<Map char="῾" symbol="῾"/>
|
||||
<Map char="’" symbol="’"/>
|
||||
</CharacterToSymbolMappings>
|
||||
|
||||
<CharacterToFormulaMappings>
|
||||
<Map char="Ά" formula="\grkaccent{ʹ}{\phantom{ι}}\!\!A"/>
|
||||
<Map char="Έ" formula="\grkaccent{ʹ}{\phantom{ι}}Ε"/>
|
||||
<Map char="Ή" formula="\grkaccent{ʹ}{\phantom{ι}}H"/>
|
||||
<Map char="Ί" formula="\grkaccent{ʹ}{\phantom{ι}}Ι"/>
|
||||
<Map char="Ό" formula="\grkaccent{ʹ}{\phantom{ι}}\!Ο"/>
|
||||
<Map char="Ύ" formula="\grkaccent{ʹ}{\phantom{ι}}Υ"/>
|
||||
<Map char="Ώ" formula="\grkaccent{ʹ}{\phantom{ι}}\!Ω"/>
|
||||
<Map char="Ἀ" formula="’Α"/>
|
||||
<Map char="Ἁ" formula="῾Α"/>
|
||||
<Map char="Ἂ" formula="῍Α"/>
|
||||
<Map char="Ἃ" formula="῝Α"/>
|
||||
<Map char="Ἄ" formula="῎Α"/>
|
||||
<Map char="Ἅ" formula="῞Α"/>
|
||||
<Map char="Ἆ" formula="῏Α"/>
|
||||
<Map char="Ἇ" formula="῟Α"/>
|
||||
<Map char="Ἐ" formula="’Ε"/>
|
||||
<Map char="Ἑ" formula="῾Ε"/>
|
||||
<Map char="Ἒ" formula="῍Ε"/>
|
||||
<Map char="Ἓ" formula="῝Ε"/>
|
||||
<Map char="Ἔ" formula="῎Ε"/>
|
||||
<Map char="Ἕ" formula="῞Ε"/>
|
||||
<Map char="Ἠ" formula="’Η"/>
|
||||
<Map char="Ἡ" formula="῾Η"/>
|
||||
<Map char="Ἢ" formula="῍Η"/>
|
||||
<Map char="Ἣ" formula="῝Η"/>
|
||||
<Map char="Ἤ" formula="῎Η"/>
|
||||
<Map char="Ἥ" formula="῞Η"/>
|
||||
<Map char="Ἦ" formula="῏Η"/>
|
||||
<Map char="Ἧ" formula="῟Η"/>
|
||||
<Map char="Ἰ" formula="’Ι"/>
|
||||
<Map char="Ἱ" formula="῾Ι"/>
|
||||
<Map char="Ἲ" formula="῍Ι"/>
|
||||
<Map char="Ἳ" formula="῝Ι"/>
|
||||
<Map char="Ἴ" formula="῎Ι"/>
|
||||
<Map char="Ἵ" formula="῞Ι"/>
|
||||
<Map char="Ἶ" formula="῏Ι"/>
|
||||
<Map char="Ἷ" formula="῟Ι"/>
|
||||
<Map char="Ὀ" formula="’Ο"/>
|
||||
<Map char="Ὁ" formula="῾Ο"/>
|
||||
<Map char="Ὂ" formula="῍Ο"/>
|
||||
<Map char="Ὃ" formula="῝Ο"/>
|
||||
<Map char="Ὄ" formula="῎Ο"/>
|
||||
<Map char="Ὅ" formula="῞Ο"/>
|
||||
<Map char="Ὑ" formula="῾Υ"/>
|
||||
<Map char="὚" formula="῝Υ"/>
|
||||
<Map char="Ὓ" formula="῞Υ"/>
|
||||
<Map char="὜" formula="῟Υ"/>
|
||||
<Map char="Ὠ" formula="’Ω"/>
|
||||
<Map char="Ὡ" formula="῾Ω"/>
|
||||
<Map char="Ὢ" formula="῍Ω"/>
|
||||
<Map char="Ὣ" formula="῝Ω"/>
|
||||
<Map char="Ὤ" formula="῎Ω"/>
|
||||
<Map char="Ὥ" formula="῞Ω"/>
|
||||
<Map char="Ὦ" formula="῏Ω"/>
|
||||
<Map char="Ὧ" formula="῟Ω"/>
|
||||
<Map char="ά" formula="\grkaccent{΄}α"/>
|
||||
<Map char="έ" formula="\grkaccent{΄}ε"/>
|
||||
<Map char="ή" formula="\grkaccent{΄}η"/>
|
||||
<Map char="ί" formula="\grkaccent{΄}ι"/>
|
||||
<Map char="ό" formula="\grkaccent{΄}ο"/>
|
||||
<Map char="ύ" formula="\grkaccent{΄}υ"/>
|
||||
<Map char="ώ" formula="\grkaccent{΄}ω"/>
|
||||
<Map char="ᾈ" formula="’ᾼ"/>
|
||||
<Map char="ᾉ" formula="῾ᾼ"/>
|
||||
<Map char="ᾊ" formula="῍ᾼ"/>
|
||||
<Map char="ᾋ" formula="῝ᾼ"/>
|
||||
<Map char="ᾌ" formula="῎ᾼ"/>
|
||||
<Map char="ᾍ" formula="῞ᾼ"/>
|
||||
<Map char="ᾎ" formula="῏ᾼ"/>
|
||||
<Map char="ᾏ" formula="῟ᾼ"/>
|
||||
<Map char="ᾘ" formula="’ῌ"/>
|
||||
<Map char="ᾙ" formula="῾ῌ"/>
|
||||
<Map char="ᾚ" formula="῍ῌ"/>
|
||||
<Map char="ᾛ" formula="῝ῌ"/>
|
||||
<Map char="ᾜ" formula="῎ῌ"/>
|
||||
<Map char="ᾝ" formula="῞ῌ"/>
|
||||
<Map char="ᾞ" formula="῏ῌ"/>
|
||||
<Map char="ᾟ" formula="῟ῌ"/>
|
||||
<Map char="ᾤ" formula="\grkaccent{῎}ῳ"/>
|
||||
<Map char="ᾨ" formula="’ῼ"/>
|
||||
<Map char="ᾩ" formula="῾ῼ"/>
|
||||
<Map char="ᾪ" formula="῍ῼ"/>
|
||||
<Map char="ᾫ" formula="῝ῼ"/>
|
||||
<Map char="ᾬ" formula="῎ῼ"/>
|
||||
<Map char="ᾭ" formula="῞ῼ"/>
|
||||
<Map char="ᾮ" formula="῏ῼ"/>
|
||||
<Map char="ᾯ" formula="῟ῼ"/>
|
||||
<Map char="ᾰ" formula="\u α"/>
|
||||
<Map char="ᾱ" formula="\= α"/>
|
||||
<Map char="Ᾰ" formula="\u Α"/>
|
||||
<Map char="Ᾱ" formula="\= Α"/>
|
||||
<Map char="Ὰ" formula="\grkaccent{`}{\vphantom{ι}}Α"/>
|
||||
<Map char="Ά" formula="\grkaccent{ʹ}{\vphantom{ι}}\!\!Α"/>
|
||||
<Map char="Ὲ" formula="\grkaccent{`}{\vphantom{ι}}Ε"/>
|
||||
<Map char="Έ" formula="\grkaccent{ʹ}{\vphantom{ι}}Ε"/>
|
||||
<Map char="Ὴ" formula="\grkaccent{`}{\vphantom{ι}}Η"/>
|
||||
<Map char="Ή" formula="\grkaccent{ʹ}{\vphantom{ι}}Η"/>
|
||||
<Map char="ῐ" formula="\u ι"/>
|
||||
<Map char="ῑ" formula="\= ι"/>
|
||||
<Map char="ΐ" formula="\grkaccent{΅}ι"/>
|
||||
<Map char="Ῐ" formula="\u Ι"/>
|
||||
<Map char="Ῑ" formula="\= Ι"/>
|
||||
<Map char="Ὶ" formula="\grkaccent{`}{\phantom{ι}}Ι"/>
|
||||
<Map char="Ί" formula="\grkaccent{ʹ}{\phantom{ι}}Ι"/>
|
||||
<Map char="ῠ" formula="\u υ"/>
|
||||
<Map char="ῡ" formula="\= υ"/>
|
||||
<Map char="ΰ" formula="\grkaccent{΅}υ"/>
|
||||
<Map char="Ῠ" formula="\u Υ"/>
|
||||
<Map char="Ῡ" formula="\= Υ"/>
|
||||
<Map char="Ὺ" formula="\grkaccent{`}{\phantom{ι}}Υ"/>
|
||||
<Map char="Ύ" formula="\grkaccent{ʹ}{\phantom{ι}}Υ"/>
|
||||
<Map char="Ὸ" formula="\grkaccent{`}{\vphantom{ι}}Ο"/>
|
||||
<Map char="Ό" formula="\grkaccent{ʹ}{\vphantom{ι}}\!Ο"/>
|
||||
<Map char="Ὼ" formula="\grkaccent{`}{\vphantom{ι}}Ω"/>
|
||||
<Map char="Ώ" formula="\grkaccent{ʹ}{\vphantom{ι}}\!Ω"/>
|
||||
</CharacterToFormulaMappings>
|
||||
</FormulaSettings>
|
||||
208
3rdparty/MicroTeX/res/greek/symbols_greek.xml
vendored
Normal file
208
3rdparty/MicroTeX/res/greek/symbols_greek.xml
vendored
Normal file
@ -0,0 +1,208 @@
|
||||
<?xml version='1.0'?>
|
||||
<!--
|
||||
symbols_greek.xml
|
||||
-->
|
||||
|
||||
<TeXSymbols>
|
||||
<Symbol name="ʹ" type="acc"/>
|
||||
<Symbol name="͵" type="acc"/>
|
||||
<Symbol name="ͺ" type="acc"/>
|
||||
<Symbol name="΄" type="acc"/>
|
||||
<Symbol name="΅" type="acc"/>
|
||||
<Symbol name="·" type="acc"/>
|
||||
<Symbol name="ΐ" type="ord"/>
|
||||
<Symbol name="Α" type="ord"/>
|
||||
<Symbol name="Β" type="ord"/>
|
||||
<Symbol name="Γ" type="ord"/>
|
||||
<Symbol name="Δ" type="ord"/>
|
||||
<Symbol name="Ε" type="ord"/>
|
||||
<Symbol name="Ζ" type="ord"/>
|
||||
<Symbol name="Η" type="ord"/>
|
||||
<Symbol name="Θ" type="ord"/>
|
||||
<Symbol name="Ι" type="ord"/>
|
||||
<Symbol name="Κ" type="ord"/>
|
||||
<Symbol name="Λ" type="ord"/>
|
||||
<Symbol name="Μ" type="ord"/>
|
||||
<Symbol name="Ν" type="ord"/>
|
||||
<Symbol name="Ξ" type="ord"/>
|
||||
<Symbol name="Ο" type="ord"/>
|
||||
<Symbol name="Π" type="ord"/>
|
||||
<Symbol name="Ρ" type="ord"/>
|
||||
<Symbol name="Σ" type="ord"/>
|
||||
<Symbol name="Τ" type="ord"/>
|
||||
<Symbol name="Υ" type="ord"/>
|
||||
<Symbol name="Φ" type="ord"/>
|
||||
<Symbol name="Χ" type="ord"/>
|
||||
<Symbol name="Ψ" type="ord"/>
|
||||
<Symbol name="Ω" type="ord"/>
|
||||
<Symbol name="Ϊ" type="ord"/>
|
||||
<Symbol name="Ϋ" type="ord"/>
|
||||
<Symbol name="ά" type="ord"/>
|
||||
<Symbol name="έ" type="ord"/>
|
||||
<Symbol name="ή" type="ord"/>
|
||||
<Symbol name="ί" type="ord"/>
|
||||
<Symbol name="ΰ" type="ord"/>
|
||||
<Symbol name="α" type="ord"/>
|
||||
<Symbol name="β" type="ord"/>
|
||||
<Symbol name="γ" type="ord"/>
|
||||
<Symbol name="δ" type="ord"/>
|
||||
<Symbol name="ε" type="ord"/>
|
||||
<Symbol name="ζ" type="ord"/>
|
||||
<Symbol name="η" type="ord"/>
|
||||
<Symbol name="θ" type="ord"/>
|
||||
<Symbol name="ι" type="ord"/>
|
||||
<Symbol name="κ" type="ord"/>
|
||||
<Symbol name="λ" type="ord"/>
|
||||
<Symbol name="μ" type="ord"/>
|
||||
<Symbol name="ν" type="ord"/>
|
||||
<Symbol name="ξ" type="ord"/>
|
||||
<Symbol name="ο" type="ord"/>
|
||||
<Symbol name="π" type="ord"/>
|
||||
<Symbol name="ρ" type="ord"/>
|
||||
<Symbol name="ς" type="ord"/>
|
||||
<Symbol name="σ" type="ord"/>
|
||||
<Symbol name="τ" type="ord"/>
|
||||
<Symbol name="υ" type="ord"/>
|
||||
<Symbol name="φ" type="ord"/>
|
||||
<Symbol name="χ" type="ord"/>
|
||||
<Symbol name="ψ" type="ord"/>
|
||||
<Symbol name="ω" type="ord"/>
|
||||
<Symbol name="ϊ" type="ord"/>
|
||||
<Symbol name="ϋ" type="ord"/>
|
||||
<Symbol name="ό" type="ord"/>
|
||||
<Symbol name="ύ" type="ord"/>
|
||||
<Symbol name="ώ" type="ord"/>
|
||||
<Symbol name="ϑ" type="ord"/>
|
||||
<Symbol name="Ϙ" type="ord"/>
|
||||
<Symbol name="ϙ" type="ord"/>
|
||||
<Symbol name="Ϛ" type="ord"/>
|
||||
<Symbol name="ϛ" type="ord"/>
|
||||
<Symbol name="Ϝ" type="ord"/>
|
||||
<Symbol name="ϝ" type="ord"/>
|
||||
<Symbol name="ϟ" type="ord"/>
|
||||
<Symbol name="Ϡ" type="ord"/>
|
||||
<Symbol name="ϡ" type="ord"/>
|
||||
<Symbol name="ἀ" type="ord"/>
|
||||
<Symbol name="ἁ" type="ord"/>
|
||||
<Symbol name="ἂ" type="ord"/>
|
||||
<Symbol name="ἃ" type="ord"/>
|
||||
<Symbol name="ἄ" type="ord"/>
|
||||
<Symbol name="ἅ" type="ord"/>
|
||||
<Symbol name="ἆ" type="ord"/>
|
||||
<Symbol name="ἇ" type="ord"/>
|
||||
<Symbol name="ἐ" type="ord"/>
|
||||
<Symbol name="ἑ" type="ord"/>
|
||||
<Symbol name="ἒ" type="ord"/>
|
||||
<Symbol name="ἓ" type="ord"/>
|
||||
<Symbol name="ἔ" type="ord"/>
|
||||
<Symbol name="ἕ" type="ord"/>
|
||||
<Symbol name="ἠ" type="ord"/>
|
||||
<Symbol name="ἡ" type="ord"/>
|
||||
<Symbol name="ἢ" type="ord"/>
|
||||
<Symbol name="ἣ" type="ord"/>
|
||||
<Symbol name="ἤ" type="ord"/>
|
||||
<Symbol name="ἥ" type="ord"/>
|
||||
<Symbol name="ἦ" type="ord"/>
|
||||
<Symbol name="ἧ" type="ord"/>
|
||||
<Symbol name="ἰ" type="ord"/>
|
||||
<Symbol name="ἱ" type="ord"/>
|
||||
<Symbol name="ἲ" type="ord"/>
|
||||
<Symbol name="ἳ" type="ord"/>
|
||||
<Symbol name="ἴ" type="ord"/>
|
||||
<Symbol name="ἵ" type="ord"/>
|
||||
<Symbol name="ἶ" type="ord"/>
|
||||
<Symbol name="ἷ" type="ord"/>
|
||||
<Symbol name="ὀ" type="ord"/>
|
||||
<Symbol name="ὁ" type="ord"/>
|
||||
<Symbol name="ὂ" type="ord"/>
|
||||
<Symbol name="ὃ" type="ord"/>
|
||||
<Symbol name="ὄ" type="ord"/>
|
||||
<Symbol name="ὅ" type="ord"/>
|
||||
<Symbol name="ὐ" type="ord"/>
|
||||
<Symbol name="ὑ" type="ord"/>
|
||||
<Symbol name="ὒ" type="ord"/>
|
||||
<Symbol name="ὓ" type="ord"/>
|
||||
<Symbol name="ὔ" type="ord"/>
|
||||
<Symbol name="ὕ" type="ord"/>
|
||||
<Symbol name="ὖ" type="ord"/>
|
||||
<Symbol name="ὗ" type="ord"/>
|
||||
<Symbol name="ὠ" type="ord"/>
|
||||
<Symbol name="ὡ" type="ord"/>
|
||||
<Symbol name="ὢ" type="ord"/>
|
||||
<Symbol name="ὣ" type="ord"/>
|
||||
<Symbol name="ὤ" type="ord"/>
|
||||
<Symbol name="ὥ" type="ord"/>
|
||||
<Symbol name="ὦ" type="ord"/>
|
||||
<Symbol name="ὧ" type="ord"/>
|
||||
<Symbol name="ὰ" type="ord"/>
|
||||
<Symbol name="ὲ" type="ord"/>
|
||||
<Symbol name="ὴ" type="ord"/>
|
||||
<Symbol name="ὶ" type="ord"/>
|
||||
<Symbol name="ὸ" type="ord"/>
|
||||
<Symbol name="ὺ" type="ord"/>
|
||||
<Symbol name="ὼ" type="ord"/>
|
||||
<Symbol name="ᾀ" type="ord"/>
|
||||
<Symbol name="ᾁ" type="ord"/>
|
||||
<Symbol name="ᾂ" type="ord"/>
|
||||
<Symbol name="ᾃ" type="ord"/>
|
||||
<Symbol name="ᾄ" type="ord"/>
|
||||
<Symbol name="ᾅ" type="ord"/>
|
||||
<Symbol name="ᾆ" type="ord"/>
|
||||
<Symbol name="ᾇ" type="ord"/>
|
||||
<Symbol name="ᾐ" type="ord"/>
|
||||
<Symbol name="ᾑ" type="ord"/>
|
||||
<Symbol name="ᾒ" type="ord"/>
|
||||
<Symbol name="ᾓ" type="ord"/>
|
||||
<Symbol name="ᾔ" type="ord"/>
|
||||
<Symbol name="ᾕ" type="ord"/>
|
||||
<Symbol name="ᾖ" type="ord"/>
|
||||
<Symbol name="ᾗ" type="ord"/>
|
||||
<Symbol name="ᾠ" type="ord"/>
|
||||
<Symbol name="ᾡ" type="ord"/>
|
||||
<Symbol name="ᾢ" type="ord"/>
|
||||
<Symbol name="ᾣ" type="ord"/>
|
||||
<Symbol name="ᾤ" type="ord"/>
|
||||
<Symbol name="ᾥ" type="ord"/>
|
||||
<Symbol name="ᾦ" type="ord"/>
|
||||
<Symbol name="ᾧ" type="ord"/>
|
||||
<Symbol name="ᾲ" type="ord"/>
|
||||
<Symbol name="ᾳ" type="ord"/>
|
||||
<Symbol name="ᾴ" type="ord"/>
|
||||
<Symbol name="ᾶ" type="ord"/>
|
||||
<Symbol name="ᾷ" type="ord"/>
|
||||
<Symbol name="ᾼ" type="ord"/>
|
||||
<Symbol name="ι" type="acc"/>
|
||||
<Symbol name="᾿" type="acc"/>
|
||||
<Symbol name="῀" type="acc"/>
|
||||
<Symbol name="῁" type="acc"/>
|
||||
<Symbol name="ῂ" type="ord"/>
|
||||
<Symbol name="ῃ" type="ord"/>
|
||||
<Symbol name="ῄ" type="ord"/>
|
||||
<Symbol name="ῆ" type="ord"/>
|
||||
<Symbol name="ῇ" type="ord"/>
|
||||
<Symbol name="ῌ" type="ord"/>
|
||||
<Symbol name="῍" type="acc"/>
|
||||
<Symbol name="῎" type="acc"/>
|
||||
<Symbol name="῏" type="acc"/>
|
||||
<Symbol name="ῒ" type="ord"/>
|
||||
<Symbol name="ῖ" type="ord"/>
|
||||
<Symbol name="ῗ" type="ord"/>
|
||||
<Symbol name="῝" type="acc"/>
|
||||
<Symbol name="῞" type="acc"/>
|
||||
<Symbol name="῟" type="acc"/>
|
||||
<Symbol name="ῢ" type="ord"/>
|
||||
<Symbol name="ῤ" type="ord"/>
|
||||
<Symbol name="ῥ" type="ord"/>
|
||||
<Symbol name="ῦ" type="ord"/>
|
||||
<Symbol name="ῧ" type="ord"/>
|
||||
<Symbol name="῭" type="acc"/>
|
||||
<Symbol name="`" type="acc"/>
|
||||
<Symbol name="ῲ" type="ord"/>
|
||||
<Symbol name="ῳ" type="ord"/>
|
||||
<Symbol name="ῴ" type="ord"/>
|
||||
<Symbol name="ῶ" type="ord"/>
|
||||
<Symbol name="ῷ" type="ord"/>
|
||||
<Symbol name="ῼ" type="ord"/>
|
||||
<Symbol name="῾" type="acc"/>
|
||||
<Symbol name="’" type="acc"/>
|
||||
</TeXSymbols>
|
||||
119
3rdparty/MicroTeX/src/QtLatex.pri
vendored
Normal file
119
3rdparty/MicroTeX/src/QtLatex.pri
vendored
Normal file
@ -0,0 +1,119 @@
|
||||
INCLUDEPATH += "./latex"
|
||||
|
||||
DEFINES += BUILD_QT
|
||||
|
||||
SOURCES += \
|
||||
latex/samples/qt_texqmlitem.cpp \
|
||||
latex/samples/qt_texwidget.cpp \
|
||||
latex/atom/atom_basic.cpp \
|
||||
latex/atom/atom_impl.cpp \
|
||||
latex/atom/box.cpp \
|
||||
latex/atom/colors_def.cpp \
|
||||
latex/core/core.cpp \
|
||||
latex/core/formula.cpp \
|
||||
latex/core/formula_def.cpp \
|
||||
latex/core/localized_num.cpp \
|
||||
latex/core/macro.cpp \
|
||||
latex/core/macro_def.cpp \
|
||||
latex/core/macro_impl.cpp \
|
||||
latex/core/parser.cpp \
|
||||
latex/fonts/alphabet.cpp \
|
||||
latex/fonts/font_basic.cpp \
|
||||
latex/fonts/font_info.cpp \
|
||||
latex/fonts/fonts.cpp \
|
||||
latex/latex.cpp \
|
||||
latex/platform/qt/graphic_qt.cpp \
|
||||
latex/render.cpp \
|
||||
latex/res/builtin/formula_mappings.res.cpp \
|
||||
latex/res/builtin/glue.res.cpp \
|
||||
latex/res/builtin/symbol_mapping.res.cpp \
|
||||
latex/res/builtin/tex_param.res.cpp \
|
||||
latex/res/builtin/tex_symbols.res.cpp \
|
||||
latex/res/font/bi10.def.cpp \
|
||||
latex/res/font/bx10.def.cpp \
|
||||
latex/res/font/cmbsy10.def.cpp \
|
||||
latex/res/font/cmbx10.def.cpp \
|
||||
latex/res/font/cmbxti10.def.cpp \
|
||||
latex/res/font/cmex10.def.cpp \
|
||||
latex/res/font/cmmi10.def.cpp \
|
||||
latex/res/font/cmmi10_unchanged.def.cpp \
|
||||
latex/res/font/cmmib10.def.cpp \
|
||||
latex/res/font/cmmib10_unchanged.def.cpp \
|
||||
latex/res/font/cmr10.def.cpp \
|
||||
latex/res/font/cmss10.def.cpp \
|
||||
latex/res/font/cmssbx10.def.cpp \
|
||||
latex/res/font/cmssi10.def.cpp \
|
||||
latex/res/font/cmsy10.def.cpp \
|
||||
latex/res/font/cmti10.def.cpp \
|
||||
latex/res/font/cmti10_unchanged.def.cpp \
|
||||
latex/res/font/cmtt10.def.cpp \
|
||||
latex/res/font/dsrom10.def.cpp \
|
||||
latex/res/font/eufb10.def.cpp \
|
||||
latex/res/font/eufm10.def.cpp \
|
||||
latex/res/font/i10.def.cpp \
|
||||
latex/res/font/moustache.def.cpp \
|
||||
latex/res/font/msam10.def.cpp \
|
||||
latex/res/font/msbm10.def.cpp \
|
||||
latex/res/font/r10.def.cpp \
|
||||
latex/res/font/r10_unchanged.def.cpp \
|
||||
latex/res/font/rsfs10.def.cpp \
|
||||
latex/res/font/sb10.def.cpp \
|
||||
latex/res/font/sbi10.def.cpp \
|
||||
latex/res/font/si10.def.cpp \
|
||||
latex/res/font/special.def.cpp \
|
||||
latex/res/font/ss10.def.cpp \
|
||||
latex/res/font/stmary10.def.cpp \
|
||||
latex/res/font/tt10.def.cpp \
|
||||
latex/res/parser/font_parser.cpp \
|
||||
latex/res/parser/formula_parser.cpp \
|
||||
latex/res/reg/builtin_font_reg.cpp \
|
||||
latex/res/reg/builtin_syms_reg.cpp \
|
||||
latex/res/sym/amsfonts.def.cpp \
|
||||
latex/res/sym/amssymb.def.cpp \
|
||||
latex/res/sym/base.def.cpp \
|
||||
latex/res/sym/stmaryrd.def.cpp \
|
||||
latex/res/sym/symspecial.def.cpp \
|
||||
latex/xml/tinyxml2.cpp
|
||||
|
||||
HEADERS += \
|
||||
latex/samples/qt_texqmlitem.h \
|
||||
latex/samples/qt_texwidget.h \
|
||||
latex/atom/atom.h \
|
||||
latex/atom/atom_basic.h \
|
||||
latex/atom/atom_impl.h \
|
||||
latex/atom/box.h \
|
||||
latex/common.h \
|
||||
latex/config.h \
|
||||
latex/core/core.h \
|
||||
latex/core/formula.h \
|
||||
latex/core/macro.h \
|
||||
latex/core/macro_impl.h \
|
||||
latex/core/parser.h \
|
||||
latex/fonts/alphabet.h \
|
||||
latex/fonts/font_basic.h \
|
||||
latex/fonts/font_info.h \
|
||||
latex/fonts/font_reg.h \
|
||||
latex/fonts/fonts.h \
|
||||
latex/fonts/symbol_reg.h \
|
||||
latex/fonts/tex_font.h \
|
||||
latex/graphic/graphic.h \
|
||||
latex/graphic/graphic_basic.h \
|
||||
latex/latex.h \
|
||||
latex/platform/qt/graphic_qt.h \
|
||||
latex/render.h \
|
||||
latex/res/font_def.res.h \
|
||||
latex/res/parser/font_parser.h \
|
||||
latex/res/parser/formula_parser.h \
|
||||
latex/res/reg/builtin_font_reg.h \
|
||||
latex/res/reg/builtin_syms_reg.h \
|
||||
latex/res/symbol_def.res.h \
|
||||
latex/utils/constants.h \
|
||||
latex/utils/exceptions.h \
|
||||
latex/utils/indexed_arr.h \
|
||||
latex/utils/log.h \
|
||||
latex/utils/nums.h \
|
||||
latex/utils/string_utils.h \
|
||||
latex/utils/utf.h \
|
||||
latex/xml/tinyxml2.h
|
||||
|
||||
RESOURCES += latex.qrc
|
||||
82
3rdparty/MicroTeX/src/atom/atom.h
vendored
Normal file
82
3rdparty/MicroTeX/src/atom/atom.h
vendored
Normal file
@ -0,0 +1,82 @@
|
||||
#ifndef ATOM_H_INCLUDED
|
||||
#define ATOM_H_INCLUDED
|
||||
|
||||
#undef DEBUG
|
||||
|
||||
#include <list>
|
||||
|
||||
#include "box/box.h"
|
||||
|
||||
namespace tex {
|
||||
|
||||
/**
|
||||
* An abstract superclass for all logical mathematical constructions that can be
|
||||
* a part of a Formula. All subclasses must implement the abstract
|
||||
* Atom#createBox(Environment) method that transforms this logical unit
|
||||
* into a concrete box (that can be painted). They also must define their type,
|
||||
* used for determining what glue to use between adjacent atoms in a
|
||||
* "row construction". That can be one single type by assigning one of the type
|
||||
* constants to the #_type field. But they can also be defined as having
|
||||
* two types: a "left type" and a "right type". This can be done by implementing
|
||||
* the methods Atom#leftType() and Atom#rightType(). The left type
|
||||
* will then be used for determining the glue between this atom and the previous
|
||||
* one (in a row, if any) and the right type for the glue between this atom and
|
||||
* the following one (in a row, if any).
|
||||
*/
|
||||
class Atom {
|
||||
public:
|
||||
/** The type of the atom (default value: ordinary atom) */
|
||||
AtomType _type = AtomType::ordinary;
|
||||
/** The limits type of the atom (default value: nolimits) */
|
||||
LimitsType _limitsType = LimitsType::noLimits;
|
||||
/** The alignment type of the atom (default value: none) */
|
||||
Alignment _alignment = Alignment::none;
|
||||
|
||||
Atom() = default;
|
||||
|
||||
/**
|
||||
* Get the type of the leftermost child atom. Most atoms have no child
|
||||
* atoms, so the "left type" and the "right type" are the same: the atom's
|
||||
* type. This also is the default implementation. But Some atoms are
|
||||
* composed of child atoms put one after another in a horizontal row. These
|
||||
* atoms must override this method.
|
||||
*
|
||||
* @return the type of the leftermost child atom
|
||||
*/
|
||||
virtual AtomType leftType() const { return _type; }
|
||||
|
||||
/**
|
||||
* Get the type of the rightermost child atom. Most atoms have no child
|
||||
* atoms, so the "left type" and the "right type" are the same: the atom's
|
||||
* type. This also is the default implementation. But Some atoms are
|
||||
* composed of child atoms put one after another in a horizontal row. These
|
||||
* atoms must override this method.
|
||||
*
|
||||
* @return the type of the rightermost child atom
|
||||
*/
|
||||
virtual AtomType rightType() const { return _type; }
|
||||
|
||||
/**
|
||||
* Convert this atom into a Box, using properties set by "parent"
|
||||
* atoms, like the TeX style, the last used font, color settings, ...
|
||||
*
|
||||
* @param env the current environment settings
|
||||
*
|
||||
* @return the resulting box.
|
||||
*/
|
||||
virtual sptr<Box> createBox(Environment& env) = 0;
|
||||
|
||||
/** Shallow clone a atom from this atom. */
|
||||
virtual sptr<Atom> clone() const = 0;
|
||||
|
||||
virtual ~Atom() = default;
|
||||
|
||||
#ifndef __decl_clone
|
||||
#define __decl_clone(type) \
|
||||
virtual sptr<Atom> clone() const override { return sptr<Atom>(new type(*this)); }
|
||||
#endif
|
||||
};
|
||||
|
||||
} // namespace tex
|
||||
|
||||
#endif // ATOM_H_INCLUDED
|
||||
888
3rdparty/MicroTeX/src/atom/atom_basic.cpp
vendored
Normal file
888
3rdparty/MicroTeX/src/atom/atom_basic.cpp
vendored
Normal file
@ -0,0 +1,888 @@
|
||||
#include "atom/atom_basic.h"
|
||||
|
||||
#include <memory>
|
||||
|
||||
#include "box/box_group.h"
|
||||
#include "box/box_factory.h"
|
||||
#include "core/core.h"
|
||||
#include "core/formula.h"
|
||||
#include "fonts/fonts.h"
|
||||
#include "graphic/graphic.h"
|
||||
#include "res/parser/formula_parser.h"
|
||||
|
||||
using namespace std;
|
||||
using namespace tex;
|
||||
|
||||
/***************************************************************************************************
|
||||
* basic atom implementation *
|
||||
***************************************************************************************************/
|
||||
|
||||
sptr<Box> ScaleAtom::createBox(Environment& env) {
|
||||
return sptrOf<ScaleBox>(_base->createBox(env), _sx, _sy);
|
||||
}
|
||||
|
||||
sptr<Box> MathAtom::createBox(Environment& env) {
|
||||
Environment& e = *(env.copy(env.getTeXFont()->copy()));
|
||||
e.getTeXFont()->setRoman(false);
|
||||
TexStyle style = e.getStyle();
|
||||
// if parent style greater than "this style",
|
||||
// that means the parent uses smaller font size,
|
||||
// then uses parent style instead
|
||||
if (_style > style) {
|
||||
e.setStyle(_style);
|
||||
}
|
||||
auto box = _base->createBox(e);
|
||||
e.setStyle(style);
|
||||
return box;
|
||||
}
|
||||
|
||||
sptr<Box> HlineAtom::createBox(Environment& env) {
|
||||
float drt = env.getTeXFont()->getDefaultRuleThickness(env.getStyle());
|
||||
Box* b = new RuleBox(drt, _width, _shift, _color, false);
|
||||
auto* vb = new VBox();
|
||||
vb->add(sptr<Box>(b));
|
||||
vb->_type = AtomType::hline;
|
||||
return sptr<Box>(vb);
|
||||
}
|
||||
|
||||
CumulativeScriptsAtom::CumulativeScriptsAtom(
|
||||
const sptr<Atom>& base, const sptr<Atom>& sub, const sptr<Atom>& sup
|
||||
) {
|
||||
auto* ca = dynamic_cast<CumulativeScriptsAtom*>(base.get());
|
||||
ScriptsAtom* sa = nullptr;
|
||||
if (ca != nullptr) {
|
||||
_base = ca->_base;
|
||||
ca->_sup->add(sup);
|
||||
ca->_sub->add(sub);
|
||||
_sup = ca->_sup;
|
||||
_sub = ca->_sub;
|
||||
} else if ((sa = dynamic_cast<ScriptsAtom*>(base.get()))) {
|
||||
_base = sa->_base;
|
||||
_sup = sptrOf<RowAtom>(sa->_sup);
|
||||
_sub = sptrOf<RowAtom>(sa->_sub);
|
||||
_sup->add(sup);
|
||||
_sub->add(sub);
|
||||
} else {
|
||||
_base = base;
|
||||
_sup = sptrOf<RowAtom>(sup);
|
||||
_sub = sptrOf<RowAtom>(sub);
|
||||
}
|
||||
}
|
||||
|
||||
void CumulativeScriptsAtom::addSuperscript(const sptr<Atom>& sup) {
|
||||
_sup->add(sup);
|
||||
}
|
||||
|
||||
void CumulativeScriptsAtom::addSubscript(const sptr<Atom>& sub) {
|
||||
_sub->add(sub);
|
||||
}
|
||||
|
||||
sptr<Atom> CumulativeScriptsAtom::getScriptsAtom() const {
|
||||
return sptrOf<ScriptsAtom>(_base, _sub, _sup);
|
||||
}
|
||||
|
||||
sptr<Box> CumulativeScriptsAtom::createBox(Environment& env) {
|
||||
return ScriptsAtom(_base, _sub, _sup).createBox(env);
|
||||
}
|
||||
|
||||
sptr<Box> TextRenderingAtom::createBox(Environment& env) {
|
||||
if (_infos == nullptr) {
|
||||
return sptrOf<TextRenderingBox>(
|
||||
_str, _type, DefaultTeXFont::getSizeFactor(env.getStyle()));
|
||||
}
|
||||
auto* tf = (DefaultTeXFont*) (env.getTeXFont().get());
|
||||
int type = tf->_isIt ? ITALIC : PLAIN;
|
||||
type = type | (tf->_isBold ? BOLD : 0);
|
||||
bool kerning = tf->_isRoman;
|
||||
sptr<Font> font;
|
||||
const FontInfos& infos = *_infos;
|
||||
if (tf->_isSs) {
|
||||
if (infos._sansserif.empty()) {
|
||||
font = Font::_create(infos._serif, PLAIN, 10);
|
||||
} else {
|
||||
font = Font::_create(infos._sansserif, PLAIN, 10);
|
||||
}
|
||||
} else {
|
||||
if (infos._serif.empty()) {
|
||||
font = Font::_create(infos._sansserif, PLAIN, 10);
|
||||
} else {
|
||||
font = Font::_create(infos._serif, PLAIN, 10);
|
||||
}
|
||||
}
|
||||
return sptrOf<TextRenderingBox>(_str, type, DefaultTeXFont::getSizeFactor(env.getStyle()), font, kerning);
|
||||
}
|
||||
|
||||
SpaceAtom UnderScoreAtom::_w(UnitType::em, 0.7f, 0.f, 0.f);
|
||||
SpaceAtom UnderScoreAtom::_s(UnitType::em, 0.06f, 0.f, 0.f);
|
||||
|
||||
sptr<Box> UnderScoreAtom::createBox(Environment& env) {
|
||||
float drt = env.getTeXFont()->getDefaultRuleThickness(env.getStyle());
|
||||
auto* hb = new HBox(_s.createBox(env));
|
||||
hb->add(sptrOf<RuleBox>(drt, _w.createBox(env)->_width, 0.f));
|
||||
return sptr<Box>(hb);
|
||||
}
|
||||
|
||||
/************************************ VRowAtom implementation *************************************/
|
||||
|
||||
VRowAtom::VRowAtom() {
|
||||
_addInterline = false;
|
||||
_valign = Alignment::center;
|
||||
_halign = Alignment::none;
|
||||
_raise = sptrOf<SpaceAtom>(UnitType::ex, 0.f, 0.f, 0.f);
|
||||
}
|
||||
|
||||
VRowAtom::VRowAtom(const sptr<Atom>& el) {
|
||||
_addInterline = false;
|
||||
_valign = Alignment::center;
|
||||
_halign = Alignment::none;
|
||||
_raise = sptrOf<SpaceAtom>(UnitType::ex, 0.f, 0.f, 0.f);
|
||||
if (el != nullptr) {
|
||||
auto* a = dynamic_cast<VRowAtom*>(el.get());
|
||||
if (a != nullptr) {
|
||||
_elements.insert(_elements.end(), a->_elements.begin(), a->_elements.end());
|
||||
} else {
|
||||
_elements.push_back(el);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void VRowAtom::setRaise(UnitType unit, float r) {
|
||||
_raise = sptrOf<SpaceAtom>(unit, r, 0.f, 0.f);
|
||||
}
|
||||
|
||||
sptr<Atom> VRowAtom::popLastAtom() {
|
||||
auto x = _elements.back();
|
||||
_elements.pop_back();
|
||||
return x;
|
||||
}
|
||||
|
||||
void VRowAtom::add(const sptr<Atom>& el) {
|
||||
if (el != nullptr) _elements.insert(_elements.begin(), el);
|
||||
}
|
||||
|
||||
void VRowAtom::append(const sptr<Atom>& el) {
|
||||
if (el != nullptr) _elements.push_back(el);
|
||||
}
|
||||
|
||||
sptr<Box> VRowAtom::createBox(Environment& env) {
|
||||
auto* vb = new VBox();
|
||||
auto interline = sptrOf<StrutBox>(0.f, env.getInterline(), 0.f, 0.f);
|
||||
|
||||
if (_halign != Alignment::none) {
|
||||
float maxWidth = F_MIN;
|
||||
vector<sptr<Box>> boxes;
|
||||
const int s = _elements.size();
|
||||
// find the width of the widest box
|
||||
for (int i = 0; i < s; i++) {
|
||||
sptr<Box> box = _elements[i]->createBox(env);
|
||||
boxes.push_back(box);
|
||||
if (maxWidth < box->_width) maxWidth = box->_width;
|
||||
}
|
||||
// align the boxes and add it to the vertical box
|
||||
for (int i = 0; i < s; i++) {
|
||||
auto box = boxes[i];
|
||||
auto hb = sptrOf<HBox>(box, maxWidth, _halign);
|
||||
vb->add(hb);
|
||||
if (_addInterline && i < s - 1) vb->add(interline);
|
||||
}
|
||||
} else {
|
||||
// convert atoms to boxes and add to the vertical box
|
||||
const int s = _elements.size();
|
||||
for (int i = 0; i < s; i++) {
|
||||
vb->add(_elements[i]->createBox(env));
|
||||
if (_addInterline && i < s - 1) vb->add(interline);
|
||||
}
|
||||
}
|
||||
|
||||
vb->_shift = -_raise->createBox(env)->_width;
|
||||
if (_valign == Alignment::top) {
|
||||
float t = vb->size() == 0 ? 0 : vb->_children.front()->_height;
|
||||
vb->_height = t;
|
||||
vb->_depth = vb->_depth + vb->_height - t;
|
||||
} else if (_valign == Alignment::center) {
|
||||
float axis = env.getTeXFont()->getAxisHeight(env.getStyle());
|
||||
float h = vb->_height + vb->_depth;
|
||||
vb->_height = h / 2 + axis;
|
||||
vb->_depth = h / 2 - axis;
|
||||
} else {
|
||||
float t = vb->size() == 0 ? 0 : vb->_children.back()->_depth;
|
||||
vb->_height = vb->_depth + vb->_height - t;
|
||||
vb->_depth = t;
|
||||
}
|
||||
return sptr<Box>(vb);
|
||||
}
|
||||
|
||||
/*************************************** color atom implementation ********************************/
|
||||
|
||||
const color ColorAtom::_default = black;
|
||||
|
||||
ColorAtom::ColorAtom(const sptr<Atom>& atom, color bg, color c)
|
||||
: _background(bg), _color(c) {
|
||||
_elements = sptrOf<RowAtom>(atom);
|
||||
}
|
||||
|
||||
void ColorAtom::defineColor(const string& name, color c) {
|
||||
_colors[name] = c;
|
||||
}
|
||||
|
||||
sptr<Box> ColorAtom::createBox(Environment& env) {
|
||||
const auto box = _elements->createBox(env);
|
||||
return sptrOf<ColorBox>(box, _color, _background);
|
||||
}
|
||||
|
||||
sptr<Box> RomanAtom::createBox(Environment& env) {
|
||||
if (_base == nullptr) return sptrOf<StrutBox>(0.f, 0.f, 0.f, 0.f);
|
||||
Environment& c = *(env.copy(env.getTeXFont()->copy()));
|
||||
c.getTeXFont()->setRoman(true);
|
||||
return _base->createBox(c);
|
||||
}
|
||||
|
||||
PhantomAtom::PhantomAtom(const sptr<Atom>& el) {
|
||||
if (el == nullptr) _elements = sptrOf<RowAtom>();
|
||||
else _elements = sptrOf<RowAtom>(el);
|
||||
_w = _h = _d = true;
|
||||
}
|
||||
|
||||
PhantomAtom::PhantomAtom(const sptr<Atom>& el, bool w, bool h, bool d) {
|
||||
if (el == nullptr) _elements = sptrOf<RowAtom>();
|
||||
else _elements = sptrOf<RowAtom>(el);
|
||||
_w = w, _h = h, _d = d;
|
||||
}
|
||||
|
||||
sptr<Box> PhantomAtom::createBox(Environment& env) {
|
||||
auto res = _elements->createBox(env);
|
||||
float w = (_w ? res->_width : 0);
|
||||
float h = (_h ? res->_height : 0);
|
||||
float d = (_d ? res->_depth : 0);
|
||||
float s = res->_shift;
|
||||
return sptrOf<StrutBox>(w, h, d, s);
|
||||
}
|
||||
|
||||
/************************************ AccentedAtom implementation *********************************/
|
||||
|
||||
void AccentedAtom::init(const sptr<Atom>& base, const sptr<Atom>& accent) {
|
||||
_base = base;
|
||||
auto* a = dynamic_cast<AccentedAtom*>(base.get());
|
||||
if (a != nullptr) _underbase = a->_underbase;
|
||||
else _underbase = base;
|
||||
|
||||
_accent = dynamic_pointer_cast<SymbolAtom>(accent);
|
||||
if (_accent == nullptr) throw ex_invalid_symbol_type("Invalid accent!");
|
||||
|
||||
_acc = true;
|
||||
_changeSize = true;
|
||||
}
|
||||
|
||||
AccentedAtom::AccentedAtom(const sptr<Atom>& base, const string& name) {
|
||||
_accent = SymbolAtom::get(name);
|
||||
if (_accent->_type == AtomType::accent) {
|
||||
_base = base;
|
||||
auto* a = dynamic_cast<AccentedAtom*>(base.get());
|
||||
if (a != nullptr) _underbase = a->_underbase;
|
||||
else _underbase = base;
|
||||
} else {
|
||||
throw ex_invalid_symbol_type(
|
||||
"The symbol with the name '"
|
||||
+ name + "' is not defined as an accent ("
|
||||
+ TeXSymbolParser::TYPE_ATTR + "='acc') in '"
|
||||
+ TeXSymbolParser::RESOURCE_NAME + "'!"
|
||||
);
|
||||
}
|
||||
_changeSize = true;
|
||||
_acc = false;
|
||||
}
|
||||
|
||||
AccentedAtom::AccentedAtom(const sptr<Atom>& base, const sptr<Formula>& acc) {
|
||||
if (acc == nullptr) throw ex_invalid_formula("the accent Formula can't be null!");
|
||||
_changeSize = true;
|
||||
_acc = false;
|
||||
auto root = acc->_root;
|
||||
_accent = dynamic_pointer_cast<SymbolAtom>(root);
|
||||
if (_accent == nullptr)
|
||||
throw ex_invalid_formula("The accent Formula does not represet a single symbol!");
|
||||
if (_accent->_type == AtomType::accent) {
|
||||
_base = base;
|
||||
} else {
|
||||
throw ex_invalid_symbol_type(
|
||||
"The accent Formula represents a single symbol with the name '"
|
||||
+ _accent->getName() + "', but this symbol is not defined as accent ("
|
||||
+ TeXSymbolParser::TYPE_ATTR + "='acc') in '"
|
||||
+ TeXSymbolParser::RESOURCE_NAME + "'!"
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
sptr<Box> AccentedAtom::createBox(Environment& env) {
|
||||
TeXFont* tf = env.getTeXFont().get();
|
||||
const TexStyle style = env.getStyle();
|
||||
|
||||
// set base in cramped style
|
||||
auto b = (
|
||||
_base == nullptr
|
||||
? sptrOf<StrutBox>(0.f, 0.f, 0.f, 0.f)
|
||||
: _base->createBox(*(env.crampStyle()))
|
||||
);
|
||||
|
||||
float u = b->_width;
|
||||
float s = 0;
|
||||
auto* sym = dynamic_cast<CharSymbol*>(_underbase.get());
|
||||
if (sym != nullptr) s = tf->getSkew(*(sym->getCharFont(*tf)), style);
|
||||
|
||||
// retrieve best char from the accent symbol
|
||||
auto* acc = (SymbolAtom*) _accent.get();
|
||||
Char ch = tf->getChar(acc->getName(), style);
|
||||
while (tf->hasNextLarger(ch)) {
|
||||
Char larger = tf->getNextLarger(ch, style);
|
||||
if (larger.getWidth() <= u) ch = larger;
|
||||
else break;
|
||||
}
|
||||
|
||||
// calculate delta
|
||||
float ec = -SpaceAtom::getFactor(UnitType::mu, env);
|
||||
float delta = _acc ? ec : min(b->_height, tf->getXHeight(style, ch.getFontCode()));
|
||||
|
||||
// create vertical box
|
||||
auto* vBox = new VBox();
|
||||
|
||||
// accent
|
||||
sptr<Box> y(nullptr);
|
||||
float italic = ch.getItalic();
|
||||
sptr<Box> cb = sptrOf<CharBox>(ch);
|
||||
if (_acc) cb = _accent->createBox(_changeSize ? *(env.subStyle()) : env);
|
||||
|
||||
if (abs(italic) > PREC) {
|
||||
auto hbox = sptrOf<HBox>(sptrOf<StrutBox>(-italic, 0.f, 0.f, 0.f));
|
||||
hbox->add(cb);
|
||||
y = hbox;
|
||||
} else {
|
||||
y = cb;
|
||||
}
|
||||
|
||||
// if diff > 0, center accent, otherwise center base
|
||||
float diff = (u - y->_width) / 2;
|
||||
y->_shift = s + (diff > 0 ? diff : 0);
|
||||
if (diff < 0) b = sptrOf<HBox>(b, y->_width, Alignment::center);
|
||||
vBox->add(y);
|
||||
|
||||
// kerning
|
||||
vBox->add(sptrOf<StrutBox>(0.f, _changeSize ? -delta : -b->_width, 0.f, 0.f));
|
||||
// base
|
||||
vBox->add(b);
|
||||
|
||||
// set height and depth vertical box
|
||||
float total = vBox->_height + vBox->_depth, d = b->_depth;
|
||||
vBox->_depth = d;
|
||||
vBox->_height = total - d;
|
||||
|
||||
if (diff < 0) {
|
||||
auto* hb = new HBox(sptrOf<StrutBox>(diff, 0.f, 0.f, 0.f));
|
||||
hb->add(sptr<Box>(vBox));
|
||||
hb->_width = u;
|
||||
return sptr<Box>(hb);
|
||||
}
|
||||
|
||||
return sptr<Box>(vBox);
|
||||
}
|
||||
|
||||
/************************************ UnderOverAtom implementation *******************************/
|
||||
|
||||
sptr<Box> UnderOverAtom::changeWidth(const sptr<Box>& b, float maxWidth) {
|
||||
if (b != nullptr && abs(maxWidth - b->_width) > PREC)
|
||||
return sptrOf<HBox>(b, maxWidth, Alignment::center);
|
||||
return b;
|
||||
}
|
||||
|
||||
sptr<Box> UnderOverAtom::createBox(Environment& env) {
|
||||
// create boxes in right style and calculate maximum width
|
||||
auto b = (_base == nullptr ? sptrOf<StrutBox>(0.f, 0.f, 0.f, 0.f) : _base->createBox(env));
|
||||
sptr<Box> o(nullptr);
|
||||
sptr<Box> u(nullptr);
|
||||
float mx = b->_width;
|
||||
if (_over != nullptr) {
|
||||
o = _over->createBox(_overSmall ? *(env.subStyle()) : env);
|
||||
mx = max(mx, o->_width);
|
||||
}
|
||||
if (_under != nullptr) {
|
||||
u = _under->createBox(_underSmall ? *(env.subStyle()) : env);
|
||||
mx = max(mx, u->_width);
|
||||
}
|
||||
|
||||
// create vertical box
|
||||
auto* vBox = new VBox();
|
||||
|
||||
// last font used by base (for mono-space atoms following)
|
||||
env.setLastFontId(b->lastFontId());
|
||||
|
||||
// over script + space
|
||||
if (_over != nullptr) {
|
||||
vBox->add(changeWidth(o, mx));
|
||||
vBox->add(sptr<Box>(SpaceAtom(_overUnit, 0.f, _overSpace, 0).createBox(env)));
|
||||
}
|
||||
|
||||
// base
|
||||
auto c = changeWidth(b, mx);
|
||||
vBox->add(c);
|
||||
|
||||
// calculate future height of the vertical box (to make sure that the
|
||||
// base stays on the baseline)
|
||||
float h = vBox->_height + vBox->_depth - c->_depth;
|
||||
|
||||
// under script + space
|
||||
if (_under != nullptr) {
|
||||
vBox->add(SpaceAtom(_underUnit, 0.f, _underSpace, 0.f).createBox(env));
|
||||
vBox->add(changeWidth(u, mx));
|
||||
}
|
||||
|
||||
// set height and depth
|
||||
vBox->_depth = vBox->_height + vBox->_depth - h;
|
||||
vBox->_height = h;
|
||||
return sptr<Box>(vBox);
|
||||
}
|
||||
|
||||
/************************************ ScriptsAtom implementation **********************************/
|
||||
|
||||
SpaceAtom ScriptsAtom::SCRIPT_SPACE(UnitType::point, 0.5f, 0.f, 0.f);
|
||||
|
||||
sptr<Box> ScriptsAtom::createBox(Environment& env) {
|
||||
if (_base == nullptr) {
|
||||
auto in = sptrOf<CharAtom>(L'M', "mathnormal");
|
||||
_base = sptrOf<PhantomAtom>(in, false, true, true);
|
||||
}
|
||||
|
||||
auto b = _base->createBox(env);
|
||||
sptr<Box> deltaSymbol = sptrOf<StrutBox>(0.f, 0.f, 0.f, 0.f);
|
||||
if (_sub == nullptr && _sup == nullptr) return b;
|
||||
|
||||
TeXFont* tf = env.getTeXFont().get();
|
||||
const TexStyle style = env.getStyle();
|
||||
|
||||
if (_base->_limitsType == LimitsType::limits ||
|
||||
(_base->_limitsType == LimitsType::normal && style == TexStyle::display)) {
|
||||
auto in = sptrOf<UnderOverAtom>(_base, _sub, UnitType::point, 0.3f, true, false);
|
||||
return UnderOverAtom(in, _sup, UnitType::point, 3.f, true, true).createBox(env);
|
||||
}
|
||||
|
||||
auto hor = sptrOf<HBox>(b);
|
||||
|
||||
int lastFontId = b->lastFontId();
|
||||
// if no last font found (whitespace box), use default "mu font"
|
||||
if (lastFontId == TeXFont::NO_FONT) lastFontId = tf->getMuFontId();
|
||||
|
||||
Environment subStyle = *(env.subStyle()), supStyle = *(env.supStyle());
|
||||
|
||||
// set delta and preliminary shift-up and shift-down values
|
||||
float delta = 0, shiftUp = 0, shiftDown = 0;
|
||||
|
||||
auto* acc = dynamic_cast<AccentedAtom*>(_base.get());
|
||||
auto* sym = dynamic_cast<SymbolAtom*>(_base.get());
|
||||
auto* cs = dynamic_cast<CharSymbol*>(_base.get());
|
||||
if (acc != nullptr) {
|
||||
// special case: accent
|
||||
auto box = acc->_base->createBox(*(env.crampStyle()));
|
||||
shiftUp = box->_height - tf->getSupDrop(supStyle.getStyle());
|
||||
shiftDown = box->_depth + tf->getSubDrop(subStyle.getStyle());
|
||||
} else if (sym != nullptr && _base->_type == AtomType::bigOperator) {
|
||||
// single big operator symbol
|
||||
Char c = tf->getChar(sym->getName(), style);
|
||||
// display style
|
||||
if (style < TexStyle::text && tf->hasNextLarger(c)) c = tf->getNextLarger(c, style);
|
||||
auto x = sptrOf<CharBox>(c);
|
||||
|
||||
float axish = env.getTeXFont()->getAxisHeight(env.getStyle());
|
||||
x->_shift = -(x->_height + x->_depth) / 2 - axish;
|
||||
hor = sptrOf<HBox>(x);
|
||||
|
||||
// include delta in width or not?
|
||||
delta = c.getItalic();
|
||||
deltaSymbol = SpaceAtom(SpaceType::medMuSkip).createBox(env);
|
||||
if (delta > PREC && _sub == nullptr) hor->add(sptrOf<StrutBox>(delta, 0.f, 0.f, 0.f));
|
||||
|
||||
shiftUp = hor->_height - tf->getSupDrop(supStyle.getStyle());
|
||||
shiftDown = hor->_depth + tf->getSubDrop(subStyle.getStyle());
|
||||
} else if (cs != nullptr) {
|
||||
shiftUp = shiftDown = 0;
|
||||
sptr<CharFont> pcf = cs->getCharFont(*tf);
|
||||
CharFont& cf = *pcf;
|
||||
if (!cs->isMarkedAsTextSymbol() || !tf->hasSpace(cf.fontId)) {
|
||||
delta = tf->getChar(cf, style).getItalic();
|
||||
}
|
||||
if (delta > PREC && _sub == nullptr) {
|
||||
hor->add(sptrOf<StrutBox>(delta, 0.f, 0.f, 0.f));
|
||||
delta = 0;
|
||||
}
|
||||
} else {
|
||||
shiftUp = b->_height - tf->getSupDrop(supStyle.getStyle());
|
||||
shiftDown = b->_depth + tf->getSubDrop(subStyle.getStyle());
|
||||
}
|
||||
|
||||
if (_sup == nullptr) {
|
||||
// only sub script
|
||||
auto x = _sub->createBox(subStyle);
|
||||
// calculate and set shift amount
|
||||
x->_shift = max(
|
||||
max(shiftDown, tf->getSub1(style)),
|
||||
x->_height - 0.8f * abs(tf->getXHeight(style, lastFontId))
|
||||
);
|
||||
hor->add(x);
|
||||
hor->add(deltaSymbol);
|
||||
|
||||
return hor;
|
||||
}
|
||||
|
||||
auto x = _sup->createBox(supStyle);
|
||||
float msiz = x->_width;
|
||||
if (_sub != nullptr && _align == Alignment::right) {
|
||||
msiz = max(msiz, _sub->createBox(subStyle)->_width);
|
||||
}
|
||||
|
||||
auto sup = sptrOf<HBox>(x, msiz, _align);
|
||||
// add space
|
||||
sup->add(SCRIPT_SPACE.createBox(env));
|
||||
// adjust shift-up
|
||||
float p;
|
||||
if (style == TexStyle::display) p = tf->getSup1(style);
|
||||
else if (env.crampStyle()->getStyle() == style) p = tf->getSup3(style);
|
||||
else p = tf->getSup2(style);
|
||||
shiftUp = max(max(shiftUp, p), x->_depth + abs(tf->getXHeight(style, lastFontId)) / 4);
|
||||
|
||||
if (_sub == nullptr) {
|
||||
// only super script
|
||||
sup->_shift = -shiftUp;
|
||||
hor->add(sup);
|
||||
} else {
|
||||
// both super and sub script
|
||||
sptr<Box> y(_sub->createBox(subStyle));
|
||||
auto sub = sptrOf<HBox>(y, msiz, _align);
|
||||
// add space
|
||||
sub->add(SCRIPT_SPACE.createBox(env));
|
||||
// adjust shift down
|
||||
shiftDown = max(shiftDown, tf->getSub2(style));
|
||||
// position both sub and super script
|
||||
float drt = tf->getDefaultRuleThickness(style);
|
||||
float interspace = shiftUp - x->_depth + shiftDown - y->_height;
|
||||
// space between sub and super script
|
||||
if (interspace < 4 * drt) {
|
||||
// too small
|
||||
shiftUp += 4 * drt - interspace;
|
||||
// set bottom super script at least 4/5 of X-height above baseline
|
||||
float psi = 0.8f * abs(tf->getXHeight(style, lastFontId)) - (shiftUp - x->_depth);
|
||||
|
||||
if (psi > 0) {
|
||||
shiftUp += psi;
|
||||
shiftDown -= psi;
|
||||
}
|
||||
}
|
||||
|
||||
// create total box
|
||||
auto* vBox = new VBox();
|
||||
sup->_shift = delta;
|
||||
vBox->add(sup);
|
||||
// recalculate inter-space
|
||||
interspace = shiftUp - x->_depth + shiftDown - y->_height;
|
||||
vBox->add(sptrOf<StrutBox>(0.f, interspace, 0.f, 0.f));
|
||||
vBox->add(sub);
|
||||
vBox->_height = shiftUp + x->_height;
|
||||
vBox->_depth = shiftDown + y->_depth;
|
||||
hor->add(sptr<Box>(vBox));
|
||||
}
|
||||
hor->add(deltaSymbol);
|
||||
return hor;
|
||||
}
|
||||
|
||||
/************************************ BigOperatorAtom implementation ******************************/
|
||||
|
||||
void BigOperatorAtom::init(const sptr<Atom>& base, const sptr<Atom>& under, const sptr<Atom>& over) {
|
||||
_base = base;
|
||||
_under = under;
|
||||
_over = over;
|
||||
_limits = false;
|
||||
_limitsSet = false;
|
||||
_type = AtomType::bigOperator;
|
||||
}
|
||||
|
||||
sptr<Box> BigOperatorAtom::changeWidth(const sptr<Box>& b, float maxWidth) {
|
||||
if (b != nullptr && abs(maxWidth - b->_width) > PREC)
|
||||
return sptrOf<HBox>(b, maxWidth, Alignment::center);
|
||||
return b;
|
||||
}
|
||||
|
||||
sptr<Box> BigOperatorAtom::createSideSets(Environment& env) {
|
||||
auto* sa = static_cast<SideSetsAtom*>(_base.get());
|
||||
auto sl = sa->_left, sr = sa->_right, sb = sa->_base;
|
||||
if (sb == nullptr) {
|
||||
auto in = sptrOf<CharAtom>(L'M', "mathnormal");
|
||||
sb = sptrOf<PhantomAtom>(in, false, true, true);
|
||||
}
|
||||
|
||||
auto opbox = sb->createBox(env);
|
||||
auto pa = sptrOf<PlaceholderAtom>(0.f, opbox->_height, opbox->_depth, opbox->_shift);
|
||||
pa->_limitsType = LimitsType::noLimits;
|
||||
pa->_type = AtomType::bigOperator;
|
||||
|
||||
auto* l = dynamic_cast<ScriptsAtom*>(sl.get());
|
||||
auto* r = dynamic_cast<ScriptsAtom*>(sr.get());
|
||||
|
||||
if (l != nullptr && l->_base == nullptr) {
|
||||
l->_base = pa;
|
||||
l->_align = Alignment::right;
|
||||
}
|
||||
if (r != nullptr && r->_base == nullptr) r->_base = pa;
|
||||
|
||||
auto y = sptrOf<HBox>();
|
||||
float limitsShift = 0;
|
||||
if (sl != nullptr) {
|
||||
auto lb = sl->createBox(env);
|
||||
y->add(lb);
|
||||
limitsShift = lb->_width + opbox->_width / 2;
|
||||
}
|
||||
y->add(opbox);
|
||||
if (sr != nullptr) y->add(sr->createBox(env));
|
||||
|
||||
TeXFont* tf = env.getTeXFont().get();
|
||||
const TexStyle style = env.getStyle();
|
||||
|
||||
float delta = 0;
|
||||
if (sb->_type == AtomType::bigOperator) {
|
||||
auto* sym = dynamic_cast<SymbolAtom*>(sb.get());
|
||||
if (sym != nullptr) {
|
||||
Char c = tf->getChar(sym->getName(), style);
|
||||
delta = c.getItalic();
|
||||
}
|
||||
}
|
||||
|
||||
// under and over
|
||||
sptr<Box> x, z;
|
||||
if (_over != nullptr) x = _over->createBox(*(env.supStyle()));
|
||||
if (_under != nullptr) z = _under->createBox(*(env.subStyle()));
|
||||
|
||||
// build vertical box
|
||||
auto* vbox = new VBox();
|
||||
float bigop5 = tf->getBigOpSpacing5(style), kern = 0;
|
||||
|
||||
if (_over != nullptr) {
|
||||
vbox->add(sptrOf<StrutBox>(0.f, bigop5, 0.f, 0.f));
|
||||
x->_shift = limitsShift - x->_width / 2 + delta / 2;
|
||||
vbox->add(x);
|
||||
kern = max(tf->getBigOpSpacing1(style), tf->getBigOpSpacing3(style) - x->_depth);
|
||||
vbox->add(sptrOf<StrutBox>(0.f, kern, 0.f, 0.f));
|
||||
}
|
||||
|
||||
vbox->add(y);
|
||||
|
||||
if (_under != nullptr) {
|
||||
float k = max(tf->getBigOpSpacing2(style), tf->getBigOpSpacing4(style) - z->_height);
|
||||
vbox->add(sptrOf<StrutBox>(0.f, k, 0.f, 0.f));
|
||||
z->_shift = limitsShift - z->_width / 2 - delta / 2;
|
||||
vbox->add(z);
|
||||
vbox->add(sptrOf<StrutBox>(0.f, bigop5, 0.f, 0.f));
|
||||
}
|
||||
|
||||
float h = y->_height, total = vbox->_height + vbox->_depth;
|
||||
if (x != nullptr) h += bigop5 + kern + x->_height + x->_depth;
|
||||
vbox->_height = h;
|
||||
vbox->_depth = total - h;
|
||||
|
||||
return sptr<Box>(vbox);
|
||||
}
|
||||
|
||||
sptr<Box> BigOperatorAtom::createBox(Environment& env) {
|
||||
if (dynamic_cast<SideSetsAtom*>(_base.get())) return createSideSets(env);
|
||||
|
||||
TeXFont* tf = env.getTeXFont().get();
|
||||
const TexStyle style = env.getStyle();
|
||||
|
||||
RowAtom* row = nullptr;
|
||||
auto Base = _base;
|
||||
|
||||
auto* ta = dynamic_cast<TypedAtom*>(_base.get());
|
||||
if (ta != nullptr) {
|
||||
auto atom = ta->getBase();
|
||||
auto* ra = dynamic_cast<RowAtom*>(atom.get());
|
||||
if (ra != nullptr && ra->_lookAtLastAtom && _base->_limitsType != LimitsType::limits) {
|
||||
_base = ra->popLastAtom();
|
||||
row = ra;
|
||||
} else {
|
||||
_base = atom;
|
||||
}
|
||||
}
|
||||
|
||||
if ((_limitsSet && !_limits)
|
||||
|| (!_limitsSet && style >= TexStyle::text)
|
||||
|| (_base->_limitsType == LimitsType::noLimits)
|
||||
|| (_base->_limitsType == LimitsType::normal && style >= TexStyle::text)
|
||||
) {
|
||||
// if explicitly set to not display as limits or if not set and
|
||||
// style is not display, then attach over and under as regular sub or
|
||||
// super script
|
||||
if (row != nullptr) {
|
||||
row->add(sptrOf<ScriptsAtom>(_base, _under, _over));
|
||||
auto b = row->createBox(env);
|
||||
row->popLastAtom();
|
||||
row->add(_base);
|
||||
_base = Base;
|
||||
return b;
|
||||
}
|
||||
return ScriptsAtom(_base, _under, _over).createBox(env);
|
||||
}
|
||||
|
||||
sptr<Box> y(nullptr);
|
||||
float delta;
|
||||
|
||||
auto* sym = dynamic_cast<SymbolAtom*>(_base.get());
|
||||
if (sym != nullptr && _base->_type == AtomType::bigOperator) {
|
||||
// single big operator symbol
|
||||
Char c = tf->getChar(sym->getName(), style);
|
||||
y = _base->createBox(env);
|
||||
// include delta in width
|
||||
delta = c.getItalic();
|
||||
} else {
|
||||
delta = 0;
|
||||
auto in = (
|
||||
_base == nullptr
|
||||
? sptrOf<StrutBox>(0.f, 0.f, 0.f, 0.f)
|
||||
: _base->createBox(env)
|
||||
);
|
||||
y = sptrOf<HBox>(in);
|
||||
}
|
||||
|
||||
// limits
|
||||
sptr<Box> x, z;
|
||||
if (_over != nullptr) x = _over->createBox(*(env.supStyle()));
|
||||
if (_under != nullptr) z = _under->createBox(*(env.subStyle()));
|
||||
|
||||
// make boxes equally wide
|
||||
float maxW = max(
|
||||
max(x == nullptr ? 0 : x->_width, y->_width),
|
||||
z == nullptr ? 0 : z->_width
|
||||
);
|
||||
x = changeWidth(x, maxW);
|
||||
y = changeWidth(y, maxW);
|
||||
z = changeWidth(z, maxW);
|
||||
|
||||
// build vertical box
|
||||
auto* vBox = new VBox();
|
||||
|
||||
float bigop5 = tf->getBigOpSpacing5(style), kern = 0;
|
||||
|
||||
// over
|
||||
if (_over != nullptr) {
|
||||
vBox->add(sptrOf<StrutBox>(0.f, bigop5, 0.f, 0.f));
|
||||
x->_shift = delta / 2;
|
||||
vBox->add(x);
|
||||
kern = max(tf->getBigOpSpacing1(style), tf->getBigOpSpacing3(style) - x->_depth);
|
||||
vBox->add(sptrOf<StrutBox>(0.f, kern, 0.f, 0.f));
|
||||
}
|
||||
|
||||
// base
|
||||
vBox->add(y);
|
||||
|
||||
// under
|
||||
if (_under != nullptr) {
|
||||
float k = max(tf->getBigOpSpacing2(style), tf->getBigOpSpacing4(style) - z->_height);
|
||||
vBox->add(sptrOf<StrutBox>(0.f, k, 0.f, 0.f));
|
||||
z->_shift = -delta / 2;
|
||||
vBox->add(z);
|
||||
vBox->add(sptrOf<StrutBox>(0.f, bigop5, 0.f, 0.f));
|
||||
}
|
||||
|
||||
// set height and depth of vertical box
|
||||
float h = y->_height, total = vBox->_height + vBox->_depth;
|
||||
if (x != nullptr) h += bigop5 + kern + x->_height + x->_depth;
|
||||
vBox->_height = h;
|
||||
vBox->_depth = total - h;
|
||||
|
||||
if (row != nullptr) {
|
||||
auto* hb = new HBox(row->createBox(env));
|
||||
row->add(_base);
|
||||
hb->add(sptr<Box>(vBox));
|
||||
_base = Base;
|
||||
return sptr<Box>(hb);
|
||||
}
|
||||
return sptr<Box>(vBox);
|
||||
}
|
||||
|
||||
/*********************************** SideSetsAtom implementation **********************************/
|
||||
|
||||
sptr<Box> SideSetsAtom::createBox(Environment& env) {
|
||||
if (_base == nullptr) {
|
||||
// create a phantom to place side-sets
|
||||
auto in = sptrOf<CharAtom>(L'M', "mathnormal");
|
||||
_base = sptrOf<PhantomAtom>(in, false, true, true);
|
||||
}
|
||||
|
||||
auto bb = _base->createBox(env);
|
||||
auto pa = sptrOf<PlaceholderAtom>(0.f, bb->_height, bb->_depth, bb->_shift);
|
||||
|
||||
auto* l = dynamic_cast<ScriptsAtom*>(_left.get());
|
||||
auto* r = dynamic_cast<ScriptsAtom*>(_right.get());
|
||||
|
||||
if (l != nullptr && l->_base == nullptr) {
|
||||
l->_base = pa;
|
||||
l->_align = Alignment::right;
|
||||
}
|
||||
if (r != nullptr && r->_base == nullptr) r->_base = pa;
|
||||
|
||||
auto hb = new HBox();
|
||||
if (_left != nullptr) hb->add(_left->createBox(env));
|
||||
hb->add(bb);
|
||||
if (_right != nullptr) hb->add(_right->createBox(env));
|
||||
|
||||
return sptr<Box>(hb);
|
||||
}
|
||||
|
||||
/******************************** OverUnderDelimiter implementation *******************************/
|
||||
|
||||
float OverUnderDelimiter::getMaxWidth(const Box* b, const Box* del, const Box* script) {
|
||||
// TODO
|
||||
// float mx = max(b->_width, del->_height + del->_depth);
|
||||
float mx = max(b->_width, del->_width);
|
||||
if (script != nullptr) mx = max(mx, script->_width);
|
||||
return mx;
|
||||
}
|
||||
|
||||
sptr<Box> OverUnderDelimiter::createBox(Environment& env) {
|
||||
auto base = (_base == nullptr ? sptrOf<StrutBox>(0.f, 0.f, 0.f, 0.f) : _base->createBox(env));
|
||||
sptr<Box> del = DelimiterFactory::create(_symbol->getName(), env, base->_width);
|
||||
// TODO
|
||||
// no rotation needed
|
||||
del = sptrOf<RotateBox>(del, -90.f, Rotation::cc);
|
||||
|
||||
sptr<Box> sb(nullptr);
|
||||
if (_script != nullptr) {
|
||||
sb = _script->createBox((_over ? *(env.supStyle()) : *(env.subStyle())));
|
||||
}
|
||||
|
||||
// create centered horizontal box if smaller than maximum width
|
||||
float mx = getMaxWidth(base.get(), del.get(), sb.get());
|
||||
if (mx - base->_width > PREC) base = sptrOf<HBox>(base, mx, Alignment::center);
|
||||
|
||||
del = sptrOf<HBox>(del, mx, Alignment::center);
|
||||
if (sb != nullptr && mx - sb->_width > PREC) {
|
||||
sb = sptrOf<HBox>(sb, mx, Alignment::center);
|
||||
}
|
||||
|
||||
const auto kb = _kern.createBox(env);
|
||||
auto vbox = new VBox();
|
||||
if (_over) {
|
||||
if (sb != nullptr) {
|
||||
vbox->add(sb);
|
||||
if (kb->_height > PREC) vbox->add(kb);
|
||||
}
|
||||
vbox->add(del);
|
||||
vbox->add(base);
|
||||
const float total = vbox->_height + vbox->_depth;
|
||||
vbox->_height = total - base->_depth;
|
||||
vbox->_depth = base->_depth;
|
||||
} else {
|
||||
vbox->add(base);
|
||||
vbox->add(del);
|
||||
if (sb != nullptr) {
|
||||
if (kb->_height > PREC) vbox->add(kb);
|
||||
vbox->add(sb);
|
||||
}
|
||||
const float total = vbox->_height + vbox->_depth;
|
||||
vbox->_height = base->_height;
|
||||
vbox->_depth = total - base->_height;
|
||||
}
|
||||
return sptr<Box>(vbox);
|
||||
}
|
||||
702
3rdparty/MicroTeX/src/atom/atom_basic.h
vendored
Normal file
702
3rdparty/MicroTeX/src/atom/atom_basic.h
vendored
Normal file
@ -0,0 +1,702 @@
|
||||
#ifndef ATOM_BASIC_H_INCLUDED
|
||||
#define ATOM_BASIC_H_INCLUDED
|
||||
|
||||
#include <bitset>
|
||||
#include <map>
|
||||
#include <string>
|
||||
#include <utility>
|
||||
|
||||
#include "common.h"
|
||||
#include "atom/atom_row.h"
|
||||
#include "atom/atom_char.h"
|
||||
#include "atom/atom_space.h"
|
||||
#include "atom/atom.h"
|
||||
#include "box/box_single.h"
|
||||
#include "box/box_group.h"
|
||||
#include "graphic/graphic.h"
|
||||
|
||||
namespace tex {
|
||||
|
||||
struct CharFont;
|
||||
|
||||
class TeXFont;
|
||||
|
||||
struct FontInfos;
|
||||
|
||||
class Formula;
|
||||
|
||||
/** An empty atom */
|
||||
class EmptyAtom : public Atom {
|
||||
public:
|
||||
sptr<Box> createBox(Environment& env) override {
|
||||
return sptrOf<StrutBox>(0.f, 0.f, 0.f, 0.f);
|
||||
}
|
||||
|
||||
__decl_clone(EmptyAtom)
|
||||
};
|
||||
|
||||
/** A placeholder atom */
|
||||
class PlaceholderAtom : public Atom {
|
||||
private:
|
||||
float _width, _height, _depth, _shift;
|
||||
|
||||
public:
|
||||
PlaceholderAtom(float width, float height, float depth, float shift)
|
||||
: _width(width), _height(height), _depth(depth), _shift(shift) {}
|
||||
|
||||
sptr<Box> createBox(Environment& env) override {
|
||||
return sptrOf<StrutBox>(_width, _height, _depth, _shift);
|
||||
}
|
||||
|
||||
__decl_clone(PlaceholderAtom)
|
||||
};
|
||||
|
||||
/** The string rendering is made in using Graphics2D */
|
||||
class TextRenderingAtom : public Atom {
|
||||
private:
|
||||
std::wstring _str;
|
||||
int _type;
|
||||
const FontInfos* _infos;
|
||||
|
||||
public:
|
||||
TextRenderingAtom() = delete;
|
||||
|
||||
TextRenderingAtom(std::wstring str, int type)
|
||||
: _str(std::move(str)), _type(type), _infos(nullptr) {}
|
||||
|
||||
TextRenderingAtom(std::wstring str, const FontInfos* info)
|
||||
: _str(std::move(str)), _type(0), _infos(info) {}
|
||||
|
||||
sptr<Box> createBox(Environment& env) override;
|
||||
|
||||
__decl_clone(TextRenderingAtom)
|
||||
};
|
||||
|
||||
/** An atom representing a smashed atom (i.e. with no height and no depth) */
|
||||
class SmashedAtom : public Atom {
|
||||
private:
|
||||
sptr<Atom> _atom;
|
||||
bool _h, _d;
|
||||
|
||||
public:
|
||||
SmashedAtom() = delete;
|
||||
|
||||
SmashedAtom(const sptr<Atom>& a, const std::string& opt) : _h(true), _d(true) {
|
||||
_atom = a;
|
||||
if (opt == "opt") _d = false;
|
||||
else if (opt == "b") _h = false;
|
||||
}
|
||||
|
||||
explicit SmashedAtom(const sptr<Atom>& a) : _atom(a), _h(true), _d(true) {}
|
||||
|
||||
sptr<Box> createBox(Environment& env) override {
|
||||
sptr<Box> b = _atom->createBox(env);
|
||||
if (_h) b->_height = 0;
|
||||
if (_d) b->_depth = 0;
|
||||
return b;
|
||||
}
|
||||
|
||||
__decl_clone(SmashedAtom)
|
||||
};
|
||||
|
||||
/** An atom representing a scaled atom */
|
||||
class ScaleAtom : public Atom {
|
||||
protected:
|
||||
sptr<Atom> _base;
|
||||
|
||||
private:
|
||||
float _sx, _sy;
|
||||
|
||||
public:
|
||||
ScaleAtom() = delete;
|
||||
|
||||
ScaleAtom(const sptr<Atom>& base, float sx, float sy) noexcept
|
||||
: _base(base), _sx(sx), _sy(sy) {
|
||||
_type = _base->_type;
|
||||
}
|
||||
|
||||
ScaleAtom(const sptr<Atom>& base, float scale) : ScaleAtom(base, scale, scale) {}
|
||||
|
||||
AtomType leftType() const override { return _base->leftType(); }
|
||||
|
||||
AtomType rightType() const override { return _base->rightType(); }
|
||||
|
||||
sptr<Box> createBox(Environment& env) override;
|
||||
|
||||
__decl_clone(ScaleAtom)
|
||||
};
|
||||
|
||||
/** An atom representing a math atom */
|
||||
class MathAtom : public Atom {
|
||||
private:
|
||||
TexStyle _style;
|
||||
sptr<Atom> _base;
|
||||
|
||||
public:
|
||||
MathAtom() = delete;
|
||||
|
||||
MathAtom(const sptr<Atom>& base, TexStyle style) noexcept
|
||||
: _base(base), _style(style) {}
|
||||
|
||||
sptr<Box> createBox(Environment& env) override;
|
||||
|
||||
__decl_clone(MathAtom)
|
||||
};
|
||||
|
||||
/** An atom representing a horizontal-line in array environment */
|
||||
class HlineAtom : public Atom {
|
||||
private:
|
||||
float _width, _shift;
|
||||
color _color;
|
||||
|
||||
public:
|
||||
HlineAtom() noexcept: _color(transparent), _width(0), _shift(0) {}
|
||||
|
||||
inline void setWidth(float w) { _width = w; }
|
||||
|
||||
inline void setShift(float s) { _shift = s; }
|
||||
|
||||
inline void setColor(color c) { _color = c; }
|
||||
|
||||
sptr<Box> createBox(Environment& env) override;
|
||||
|
||||
__decl_clone(HlineAtom)
|
||||
};
|
||||
|
||||
/** An atom representing a cumulative scripts atom */
|
||||
class CumulativeScriptsAtom : public Atom {
|
||||
private:
|
||||
sptr<Atom> _base;
|
||||
sptr<RowAtom> _sup, _sub;
|
||||
|
||||
public:
|
||||
CumulativeScriptsAtom() = delete;
|
||||
|
||||
CumulativeScriptsAtom(
|
||||
const sptr<Atom>& base,
|
||||
const sptr<Atom>& sub,
|
||||
const sptr<Atom>& sup
|
||||
);
|
||||
|
||||
void addSuperscript(const sptr<Atom>& sup);
|
||||
|
||||
void addSubscript(const sptr<Atom>& sub);
|
||||
|
||||
sptr<Atom> getScriptsAtom() const;
|
||||
|
||||
sptr<Box> createBox(Environment& env) override;
|
||||
|
||||
__decl_clone(CumulativeScriptsAtom)
|
||||
};
|
||||
|
||||
/** An atom representing an underscore */
|
||||
class UnderScoreAtom : public Atom {
|
||||
private:
|
||||
static SpaceAtom _w, _s;
|
||||
|
||||
public:
|
||||
UnderScoreAtom() = default;
|
||||
|
||||
sptr<Box> createBox(Environment& env) override;
|
||||
|
||||
__decl_clone(UnderScoreAtom)
|
||||
};
|
||||
|
||||
/**
|
||||
* An atom representing a middle atom which must be rounded by a left and right
|
||||
* delimiter.
|
||||
*/
|
||||
class MiddleAtom : public Atom {
|
||||
public:
|
||||
sptr<Atom> _base;
|
||||
sptr<Box> _box;
|
||||
|
||||
MiddleAtom() = delete;
|
||||
|
||||
explicit MiddleAtom(const sptr<Atom>& a)
|
||||
: _base(a), _box(new StrutBox(0, 0, 0, 0)) {}
|
||||
|
||||
sptr<Box> createBox(Environment& env) override {
|
||||
return _box;
|
||||
}
|
||||
|
||||
__decl_clone(MiddleAtom)
|
||||
};
|
||||
|
||||
/** An atom representing a vertical row of other atoms. */
|
||||
class VRowAtom : public Atom {
|
||||
private:
|
||||
std::vector<sptr<Atom>> _elements;
|
||||
sptr<SpaceAtom> _raise;
|
||||
bool _addInterline;
|
||||
|
||||
public:
|
||||
Alignment _valign = Alignment::none;
|
||||
Alignment _halign = Alignment::none;
|
||||
|
||||
VRowAtom();
|
||||
|
||||
explicit VRowAtom(const sptr<Atom>& el);
|
||||
|
||||
inline void setAddInterline(bool addInterline) {
|
||||
_addInterline = addInterline;
|
||||
}
|
||||
|
||||
inline bool isAddInterline() const {
|
||||
return _addInterline;
|
||||
}
|
||||
|
||||
inline void setVtop(bool vtop) {
|
||||
_valign = vtop ? Alignment::top : Alignment::center;
|
||||
}
|
||||
|
||||
inline bool isVtop() const {
|
||||
return _valign == Alignment::top;
|
||||
}
|
||||
|
||||
void setRaise(UnitType unit, float r);
|
||||
|
||||
sptr<Atom> popLastAtom();
|
||||
|
||||
/** Add an atom at the front */
|
||||
void add(const sptr<Atom>& el);
|
||||
|
||||
/** Add an atom at the tail */
|
||||
void append(const sptr<Atom>& el);
|
||||
|
||||
sptr<Box> createBox(Environment& env) override;
|
||||
|
||||
__decl_clone(VRowAtom)
|
||||
};
|
||||
|
||||
/** An atom representing the foreground and background color of an other atom */
|
||||
class ColorAtom : public Atom, public Row {
|
||||
private:
|
||||
static std::map<std::string, color> _colors;
|
||||
static const color _default;
|
||||
|
||||
color _background, _color;
|
||||
// RowAtom for which the color settings apply
|
||||
sptr<RowAtom> _elements;
|
||||
|
||||
public:
|
||||
ColorAtom() = delete;
|
||||
|
||||
ColorAtom(const sptr<Atom>& atom, color bg, color c);
|
||||
|
||||
sptr<Box> createBox(Environment& env) override;
|
||||
|
||||
AtomType leftType() const override {
|
||||
return _elements->leftType();
|
||||
}
|
||||
|
||||
AtomType rightType() const override {
|
||||
return _elements->rightType();
|
||||
}
|
||||
|
||||
void setPreviousAtom(const sptr<Dummy>& prev) override {
|
||||
_elements->setPreviousAtom(prev);
|
||||
}
|
||||
|
||||
/**
|
||||
* Parse color from given name. The name can be one of the following format:
|
||||
* [#AARRGGBB] or [AARRGGBB], [gray color], [c,m,y,k], [c;m;y;k], [r,g,b], [r;g;b]
|
||||
* or a predefined color name. Return black if not found.
|
||||
*/
|
||||
static color getColor(std::string name);
|
||||
|
||||
/** Define a color with given name */
|
||||
static void defineColor(const std::string& name, color c);
|
||||
|
||||
__decl_clone(ColorAtom)
|
||||
};
|
||||
|
||||
/** An atom representing a roman atom */
|
||||
class RomanAtom : public Atom {
|
||||
public:
|
||||
sptr<Atom> _base;
|
||||
|
||||
RomanAtom() = delete;
|
||||
|
||||
explicit RomanAtom(const sptr<Atom>& base) : _base(base) {}
|
||||
|
||||
sptr<Box> createBox(Environment& env) override;
|
||||
|
||||
__decl_clone(RomanAtom)
|
||||
};
|
||||
|
||||
/** An atom representing another atom that should be drawn invisibly */
|
||||
class PhantomAtom : public Atom, public Row {
|
||||
private:
|
||||
sptr<RowAtom> _elements;
|
||||
// if show with width, height or depth
|
||||
bool _w, _h, _d;
|
||||
|
||||
public:
|
||||
PhantomAtom() = delete;
|
||||
|
||||
explicit PhantomAtom(const sptr<Atom>& el);
|
||||
|
||||
PhantomAtom(const sptr<Atom>& el, bool w, bool h, bool d);
|
||||
|
||||
AtomType leftType() const override {
|
||||
return _elements->leftType();
|
||||
}
|
||||
|
||||
AtomType rightType() const override {
|
||||
return _elements->rightType();
|
||||
}
|
||||
|
||||
void setPreviousAtom(const sptr<Dummy>& prev) override {
|
||||
_elements->setPreviousAtom(prev);
|
||||
}
|
||||
|
||||
sptr<Box> createBox(Environment& env) override;
|
||||
|
||||
__decl_clone(PhantomAtom)
|
||||
};
|
||||
|
||||
/**
|
||||
* An atom representing another atom with an override left-type and right-type
|
||||
* this affects the glue inserted before and after this atom.
|
||||
*/
|
||||
class TypedAtom : public Atom {
|
||||
private:
|
||||
// override left-type and right-type
|
||||
AtomType _leftType, _rightType;
|
||||
// atom for which new types are set
|
||||
sptr<Atom> _atom;
|
||||
|
||||
public:
|
||||
TypedAtom() = delete;
|
||||
|
||||
TypedAtom(AtomType lt, AtomType rt, const sptr<Atom>& atom)
|
||||
: _leftType(lt), _rightType(rt), _atom(atom) {
|
||||
_limitsType = atom->_limitsType;
|
||||
}
|
||||
|
||||
sptr<Atom> getBase() {
|
||||
_atom->_limitsType = _limitsType;
|
||||
return _atom;
|
||||
}
|
||||
|
||||
sptr<Box> createBox(Environment& env) override {
|
||||
return _atom->createBox(env);
|
||||
}
|
||||
|
||||
AtomType leftType() const override {
|
||||
return _leftType;
|
||||
}
|
||||
|
||||
AtomType rightType() const override {
|
||||
return _rightType;
|
||||
}
|
||||
|
||||
__decl_clone(TypedAtom)
|
||||
};
|
||||
|
||||
/** An atom representing another atom with an accent symbol above it */
|
||||
class AccentedAtom : public Atom {
|
||||
public:
|
||||
// accent symbol
|
||||
sptr<SymbolAtom> _accent;
|
||||
bool _acc{};
|
||||
bool _changeSize{};
|
||||
|
||||
// base atom
|
||||
sptr<Atom> _base, _underbase;
|
||||
|
||||
void init(const sptr<Atom>& base, const sptr<Atom>& acc);
|
||||
|
||||
public:
|
||||
AccentedAtom() = delete;
|
||||
|
||||
AccentedAtom(const sptr<Atom>& base, const sptr<Atom>& accent) {
|
||||
init(base, accent);
|
||||
}
|
||||
|
||||
AccentedAtom(
|
||||
const sptr<Atom>& base,
|
||||
const sptr<Atom>& accent,
|
||||
bool changeSize
|
||||
) {
|
||||
init(base, accent);
|
||||
_changeSize = changeSize;
|
||||
}
|
||||
|
||||
/**
|
||||
* Create an AccentedAtom from a base atom and an accent symbol defined by
|
||||
* its name
|
||||
*
|
||||
* @param base base atom
|
||||
* @param name name of the accent symbol to be put over the base atom
|
||||
* @throw ex_invalid_symbol_type if the symbol is not defined as An accent ('acc')
|
||||
* @throw ex_symbol_not_found if there's no symbol defined with the given name
|
||||
*/
|
||||
AccentedAtom(const sptr<Atom>& base, const std::string& name);
|
||||
|
||||
/**
|
||||
* Creates an AccentedAtom from a base atom and an accent symbol defined as
|
||||
* a Formula. This is used for parsing MathML.
|
||||
*
|
||||
* @param base base atom
|
||||
* @param acc Formula representing an accent (SymbolAtom)
|
||||
* @throw ex_invalid_formula
|
||||
* if the given Formula does not represent a single
|
||||
* SymbolAtom (type "TeXConstants.AtomType::accent")
|
||||
* @throw ex_invalid_symbol_type
|
||||
* if the symbol is not defined as an accent ('acc')
|
||||
*/
|
||||
AccentedAtom(const sptr<Atom>& base, const sptr<Formula>& acc);
|
||||
|
||||
sptr<Box> createBox(Environment& env) override;
|
||||
|
||||
__decl_clone(AccentedAtom)
|
||||
};
|
||||
|
||||
/**
|
||||
* An atom representing another atom with an atom above it (if not null)
|
||||
* separated by a kern and in a smaller size depending on "overScriptSize"
|
||||
* and/or an atom under it (if not null) separated by a kern and in a smaller
|
||||
* size depending on "underScriptSize"
|
||||
*/
|
||||
class UnderOverAtom : public Atom {
|
||||
private:
|
||||
// base, under script & over script
|
||||
sptr<Atom> _base, _under, _over;
|
||||
// kerning between base and under and over script
|
||||
float _underSpace, _overSpace;
|
||||
UnitType _underUnit, _overUnit;
|
||||
// whether the under over should be drawn in a smaller size
|
||||
bool _underSmall, _overSmall;
|
||||
|
||||
static sptr<Box> changeWidth(const sptr<Box>& b, float maxWidth);
|
||||
|
||||
inline void init() {
|
||||
_underSpace = _overSpace = 0;
|
||||
_underUnit = _overUnit = UnitType::em;
|
||||
_underSmall = _overSmall = false;
|
||||
}
|
||||
|
||||
public:
|
||||
UnderOverAtom() = delete;
|
||||
|
||||
UnderOverAtom(
|
||||
const sptr<Atom>& base, const sptr<Atom>& script,
|
||||
UnitType unit, float space, bool small, bool over
|
||||
) {
|
||||
init();
|
||||
_base = base;
|
||||
if (over) {
|
||||
_under = nullptr;
|
||||
_underSpace = 0.f;
|
||||
_underUnit = UnitType::em;
|
||||
_underSmall = false;
|
||||
_over = script;
|
||||
_overUnit = unit;
|
||||
_overSpace = space;
|
||||
_overSmall = small;
|
||||
} else {
|
||||
_under = script;
|
||||
_underUnit = unit;
|
||||
_underSpace = space;
|
||||
_underSmall = small;
|
||||
_overSpace = 0.f;
|
||||
_over = nullptr;
|
||||
_overUnit = UnitType::em;
|
||||
_overSmall = false;
|
||||
}
|
||||
}
|
||||
|
||||
UnderOverAtom(
|
||||
const sptr<Atom>& base,
|
||||
const sptr<Atom>& under, UnitType underunit, float underspace, bool undersmall,
|
||||
const sptr<Atom>& over, UnitType overunit, float overspace, bool oversmall
|
||||
) {
|
||||
_base = base;
|
||||
_under = under;
|
||||
_underUnit = underunit;
|
||||
_underSpace = underspace;
|
||||
_underSmall = undersmall;
|
||||
_over = over;
|
||||
_overUnit = overunit;
|
||||
_overSpace = overspace;
|
||||
_overSmall = oversmall;
|
||||
}
|
||||
|
||||
AtomType leftType() const override {
|
||||
return _base->leftType();
|
||||
}
|
||||
|
||||
AtomType rightType() const override {
|
||||
return _base->rightType();
|
||||
}
|
||||
|
||||
sptr<Box> createBox(Environment& env) override;
|
||||
|
||||
__decl_clone(UnderOverAtom)
|
||||
};
|
||||
|
||||
/**
|
||||
* An atom representing scripts to be attached to another atom
|
||||
*/
|
||||
class ScriptsAtom : public Atom {
|
||||
private:
|
||||
static SpaceAtom SCRIPT_SPACE;
|
||||
|
||||
public:
|
||||
// base atom
|
||||
sptr<Atom> _base;
|
||||
// subscript and superscript to be attached to the base
|
||||
sptr<Atom> _sub;
|
||||
sptr<Atom> _sup;
|
||||
// scripts alignment
|
||||
Alignment _align = Alignment::none;
|
||||
|
||||
ScriptsAtom() = delete;
|
||||
|
||||
ScriptsAtom(const sptr<Atom>& base, const sptr<Atom>& sub, const sptr<Atom>& sup)
|
||||
: _base(base), _sub(sub), _sup(sup), _align(Alignment::left) {}
|
||||
|
||||
ScriptsAtom(const sptr<Atom>& base, const sptr<Atom>& sub, const sptr<Atom>& sup, bool left)
|
||||
: _base(base), _sub(sub), _sup(sup), _align(left ? Alignment::left : Alignment::right) {}
|
||||
|
||||
AtomType leftType() const override {
|
||||
return _base == nullptr ? _type : _base->leftType();
|
||||
}
|
||||
|
||||
AtomType rightType() const override {
|
||||
return _base == nullptr ? _type : _base->rightType();
|
||||
}
|
||||
|
||||
sptr<Box> createBox(Environment& env) override;
|
||||
|
||||
__decl_clone(ScriptsAtom)
|
||||
};
|
||||
|
||||
/**
|
||||
* An atom representing a "big operator" (or an atom that acts as one) together
|
||||
* with its limits
|
||||
*/
|
||||
class BigOperatorAtom : public Atom {
|
||||
private:
|
||||
// limits
|
||||
sptr<Atom> _under{}, _over{};
|
||||
// atom representing a big operator
|
||||
sptr<Atom> _base{};
|
||||
// whether the "limits"-value should be taken into account
|
||||
// (otherwise the default rules will be applied)
|
||||
bool _limitsSet = false;
|
||||
// whether limits should be drawn over and under the base (<-> as scripts)
|
||||
bool _limits = false;
|
||||
|
||||
void init(const sptr<Atom>& base, const sptr<Atom>& under, const sptr<Atom>& over);
|
||||
|
||||
sptr<Box> createSideSets(Environment& env);
|
||||
|
||||
/** Center the given box in a new box that has the given width */
|
||||
static sptr<Box> changeWidth(const sptr<Box>& b, float maxWidth);
|
||||
|
||||
public:
|
||||
BigOperatorAtom() = delete;
|
||||
|
||||
/**
|
||||
* Create a new BigOperatorAtom from the given atoms. The default rules the
|
||||
* positioning of the limits will be applied.
|
||||
*
|
||||
* @param base atom representing the big operator
|
||||
* @param under atom representing the under limit
|
||||
* @param over atom representing the over limit
|
||||
*/
|
||||
BigOperatorAtom(const sptr<Atom>& base, const sptr<Atom>& under, const sptr<Atom>& over) {
|
||||
init(base, under, over);
|
||||
}
|
||||
|
||||
/**
|
||||
* Create a new BigOperatorAtom from the given atoms. Limits will be drawn
|
||||
* according to the "limits"-value
|
||||
*
|
||||
* @param base atom representing the big operator
|
||||
* @param under atom representing the under limit
|
||||
* @param over atom representing the over limit
|
||||
* @param limits
|
||||
* whether limits should be drawn over and under the base (<-> as
|
||||
* scripts)
|
||||
*/
|
||||
BigOperatorAtom(
|
||||
const sptr<Atom>& base, const sptr<Atom>& under, const sptr<Atom>& over, bool limits
|
||||
) {
|
||||
init(base, under, over);
|
||||
_limits = limits;
|
||||
_limitsSet = true;
|
||||
}
|
||||
|
||||
sptr<Box> createBox(Environment& env) override;
|
||||
|
||||
__decl_clone(BigOperatorAtom)
|
||||
};
|
||||
|
||||
/** An atom representing scripts around a base atom */
|
||||
class SideSetsAtom : public Atom {
|
||||
public:
|
||||
sptr<Atom> _left, _right, _base;
|
||||
|
||||
SideSetsAtom() = delete;
|
||||
|
||||
SideSetsAtom(const sptr<Atom>& base, const sptr<Atom>& left, const sptr<Atom>& right)
|
||||
: _base(base), _left(left), _right(right) {
|
||||
_type = AtomType::bigOperator;
|
||||
_limitsType = LimitsType::noLimits;
|
||||
}
|
||||
|
||||
sptr<Box> createBox(Environment& env) override;
|
||||
|
||||
__decl_clone(SideSetsAtom)
|
||||
};
|
||||
|
||||
/**
|
||||
* An atom representing another atom with a delimiter and a script above or
|
||||
* under it, with script and delimiter separated by a kerning
|
||||
*/
|
||||
class OverUnderDelimiter : public Atom {
|
||||
private:
|
||||
// base and script atom
|
||||
sptr<Atom> _base, _script;
|
||||
// delimiter symbol
|
||||
sptr<SymbolAtom> _symbol;
|
||||
// kerning between delimiter and script
|
||||
SpaceAtom _kern;
|
||||
// whether the delimiter should be positioned above or under the base
|
||||
bool _over;
|
||||
|
||||
static float getMaxWidth(const Box* b, const Box* del, const Box* script);
|
||||
|
||||
public:
|
||||
OverUnderDelimiter() = delete;
|
||||
|
||||
OverUnderDelimiter(
|
||||
const sptr<Atom>& base,
|
||||
const sptr<Atom>& script,
|
||||
const sptr<SymbolAtom>& symbol,
|
||||
UnitType kernUnit, float kern, bool over
|
||||
) : _base(base), _script(script), _symbol(symbol), _over(over) {
|
||||
_kern = SpaceAtom(kernUnit, 0, kern, 0);
|
||||
_type = AtomType::inner;
|
||||
}
|
||||
|
||||
inline void addScript(const sptr<Atom>& script) {
|
||||
_script = script;
|
||||
}
|
||||
|
||||
inline bool isOver() {
|
||||
return _over;
|
||||
}
|
||||
|
||||
sptr<Box> createBox(Environment& env) override;
|
||||
|
||||
__decl_clone(OverUnderDelimiter)
|
||||
};
|
||||
|
||||
} // namespace tex
|
||||
|
||||
#endif // ATOM_BASIC_H_INCLUDED
|
||||
104
3rdparty/MicroTeX/src/atom/atom_char.cpp
vendored
Normal file
104
3rdparty/MicroTeX/src/atom/atom_char.cpp
vendored
Normal file
@ -0,0 +1,104 @@
|
||||
#include "atom/atom_char.h"
|
||||
#include "core/core.h"
|
||||
#include "res/parser/formula_parser.h"
|
||||
|
||||
using namespace tex;
|
||||
using namespace std;
|
||||
|
||||
//sptr<CharFont> FixedCharAtom::getCharFont(TeXFont& tf) {
|
||||
// return _cf;
|
||||
//}
|
||||
|
||||
sptr<Box> FixedCharAtom::createBox(Environment& env) {
|
||||
const auto& i = env.getTeXFont();
|
||||
TeXFont& tf = *i;
|
||||
Char c = tf.getChar(*_cf, env.getStyle());
|
||||
return sptrOf<CharBox>(c);
|
||||
}
|
||||
|
||||
SymbolAtom::SymbolAtom(const string& name, AtomType type, bool del) noexcept: _unicode(0) {
|
||||
_name = name;
|
||||
_type = type;
|
||||
if (type == AtomType::bigOperator) _limitsType = LimitsType::normal;
|
||||
}
|
||||
|
||||
sptr<Box> SymbolAtom::createBox(Environment& env) {
|
||||
const auto& i = env.getTeXFont();
|
||||
TeXFont& tf = *i;
|
||||
TexStyle style = env.getStyle();
|
||||
Char c = tf.getChar(_name, style);
|
||||
sptr<Box> cb = sptrOf<CharBox>(c);
|
||||
if (env.getSmallCap() && _unicode != 0 && islower(_unicode)) {
|
||||
// find if exists in mapping
|
||||
auto it = Formula::_symbolTextMappings.find(toupper(_unicode));
|
||||
if (it != Formula::_symbolFormulaMappings.end()) {
|
||||
const string& name = it->second;
|
||||
try {
|
||||
auto cx = sptrOf<CharBox>(tf.getChar(name, style));
|
||||
cb = sptrOf<ScaleBox>(cx, 0.8f, 0.8f);
|
||||
} catch (ex_symbol_mapping_not_found& e) {}
|
||||
}
|
||||
}
|
||||
if (_type == AtomType::bigOperator) {
|
||||
if (style < TexStyle::text && tf.hasNextLarger(c)) c = tf.getNextLarger(c, style);
|
||||
cb = sptrOf<CharBox>(c);
|
||||
cb->_shift = -(cb->_height + cb->_depth) / 2.f - tf.getAxisHeight(style);
|
||||
float delta = c.getItalic();
|
||||
auto hb = sptrOf<HBox>(cb);
|
||||
if (delta > PREC) hb->add(sptrOf<StrutBox>(delta, 0.f, 0.f, 0.f));
|
||||
return hb;
|
||||
}
|
||||
return cb;
|
||||
}
|
||||
|
||||
//sptr<CharFont> SymbolAtom::getCharFont(TeXFont& tf) {
|
||||
// return tf.getChar(_name, TexStyle::display).getCharFont();
|
||||
//}
|
||||
|
||||
void SymbolAtom::addSymbolAtom(const string& file) {
|
||||
TeXSymbolParser parser(file);
|
||||
parser.readSymbols(_symbols);
|
||||
}
|
||||
|
||||
void SymbolAtom::addSymbolAtom(const sptr<SymbolAtom>& sym) {
|
||||
_symbols[sym->_name] = sym;
|
||||
}
|
||||
|
||||
sptr<SymbolAtom> SymbolAtom::get(const string& name) {
|
||||
auto it = _symbols.find(name);
|
||||
if (it == _symbols.end()) throw ex_symbol_not_found(name);
|
||||
return it->second;
|
||||
}
|
||||
|
||||
Char CharAtom::getChar(TeXFont& tf, TexStyle style, bool smallCap) {
|
||||
wchar_t chr = _c;
|
||||
if (smallCap) {
|
||||
if (islower(_c)) chr = toupper(_c);
|
||||
}
|
||||
if (_textStyle.empty()) return tf.getDefaultChar(chr, style);
|
||||
return tf.getChar(chr, _textStyle, style);
|
||||
}
|
||||
|
||||
//sptr<CharFont> CharAtom::getCharFont(TeXFont& tf) {
|
||||
// std::cout << "???" << std::endl;
|
||||
// return getChar(tf, TexStyle::display, false).getCharFont();
|
||||
//}
|
||||
|
||||
sptr<Box> CharAtom::createBox(Environment& env) {
|
||||
if (_textStyle.empty()) {
|
||||
const string& ts = env.getTextStyle();
|
||||
if (!ts.empty()) _textStyle = ts;
|
||||
}
|
||||
bool smallCap = env.getSmallCap();
|
||||
Char ch = getChar(*env.getTeXFont(), env.getStyle(), smallCap);
|
||||
sptr<Box> box = sptrOf<CharBox>(ch);
|
||||
if (smallCap && islower(_c)) {
|
||||
// we have a small capital
|
||||
box = sptrOf<ScaleBox>(box, 0.8f, 0.8f);
|
||||
}
|
||||
return box;
|
||||
}
|
||||
|
||||
sptr<Box> BreakMarkAtom::createBox(Environment& env) {
|
||||
return sptrOf<StrutBox>(0.f, 0.f, 0.f, 0.f);
|
||||
}
|
||||
211
3rdparty/MicroTeX/src/atom/atom_char.h
vendored
Normal file
211
3rdparty/MicroTeX/src/atom/atom_char.h
vendored
Normal file
@ -0,0 +1,211 @@
|
||||
#ifndef LATEX_ATOM_CHAR_H
|
||||
#define LATEX_ATOM_CHAR_H
|
||||
|
||||
#include "common.h"
|
||||
#include "atom/atom.h"
|
||||
#include "box/box_group.h"
|
||||
#include "fonts/font_basic.h"
|
||||
#include "fonts/tex_font.h"
|
||||
|
||||
namespace tex {
|
||||
|
||||
struct CharFont;
|
||||
|
||||
struct Char;
|
||||
|
||||
class TeXFont;
|
||||
|
||||
/**
|
||||
* An common superclass for atoms that represent one single character and access
|
||||
* the font information.
|
||||
*/
|
||||
class CharSymbol : public Atom {
|
||||
private:
|
||||
/**
|
||||
* Row will mark certain CharSymbol atoms as a text symbol. Subsup wil use
|
||||
* this property for a certain spacing rule.
|
||||
*/
|
||||
bool _textSymbol;
|
||||
|
||||
public:
|
||||
CharSymbol() : _textSymbol(false) {}
|
||||
|
||||
/** Mark as text symbol (used by Dummy) */
|
||||
inline void markAsTextSymbol() {
|
||||
_textSymbol = true;
|
||||
}
|
||||
|
||||
/** Remove the mark so the atom remains unchanged (used by Dummy) */
|
||||
inline void removeMark() {
|
||||
_textSymbol = false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Tests if this atom is marked as a text symbol (used by Msubsup)
|
||||
*
|
||||
* @return whether this CharSymbol is marked as a text symbol
|
||||
*/
|
||||
inline bool isMarkedAsTextSymbol() const {
|
||||
return _textSymbol;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the CharFont-object that uniquely identifies the character that is
|
||||
* represented by this atom.
|
||||
*
|
||||
* @param tf the TeXFont containing all font related information
|
||||
* @return a CharFont
|
||||
*/
|
||||
virtual sptr<CharFont> getCharFont(TeXFont& tf) = 0;
|
||||
};
|
||||
|
||||
/** An atom representing a fixed character (not depending on a text style). */
|
||||
class FixedCharAtom : public CharSymbol {
|
||||
private:
|
||||
const sptr<CharFont> _cf;
|
||||
|
||||
public:
|
||||
FixedCharAtom() = delete;
|
||||
|
||||
explicit FixedCharAtom(const sptr<CharFont>& c) : _cf(c) {}
|
||||
|
||||
// FIXME
|
||||
// workaround for the MSVS's LNK2019 error
|
||||
// it should be implemented in the atom_char.cpp file
|
||||
sptr<CharFont> getCharFont(TeXFont& tf) override {
|
||||
return _cf;
|
||||
}
|
||||
|
||||
sptr<Box> createBox(Environment& env) override;
|
||||
|
||||
__decl_clone(FixedCharAtom)
|
||||
};
|
||||
|
||||
class SymbolAtom : public CharSymbol {
|
||||
private:
|
||||
|
||||
// symbol name
|
||||
std::string _name;
|
||||
wchar_t _unicode;
|
||||
|
||||
public:
|
||||
// contains all defined symbols
|
||||
static std::map<std::string, sptr<SymbolAtom>> _symbols;
|
||||
|
||||
SymbolAtom() = delete;
|
||||
|
||||
/**
|
||||
* Constructs a new symbol. This used by "TeXSymbolParser" and the symbol
|
||||
* types are guaranteed to be valid.
|
||||
*
|
||||
* @param name symbol name
|
||||
* @param type symbol type constant
|
||||
* @param del whether the symbol is a delimiter
|
||||
*/
|
||||
SymbolAtom(const std::string& name, AtomType type, bool del) noexcept;
|
||||
|
||||
inline SymbolAtom& setUnicode(wchar_t c) {
|
||||
_unicode = c;
|
||||
return *this;
|
||||
}
|
||||
|
||||
inline wchar_t getUnicode() const {
|
||||
return _unicode;
|
||||
}
|
||||
|
||||
inline const std::string& getName() const {
|
||||
return _name;
|
||||
}
|
||||
|
||||
sptr<Box> createBox(Environment& env) override;
|
||||
|
||||
// FIXME
|
||||
// workaround for the MSVS's LNK2019 error
|
||||
// it should be implemented in the atom_char.cpp file
|
||||
sptr<CharFont> getCharFont(TeXFont& tf) override {
|
||||
return tf.getChar(_name, TexStyle::display).getCharFont();
|
||||
}
|
||||
|
||||
static void addSymbolAtom(const std::string& file);
|
||||
|
||||
static void addSymbolAtom(const sptr<SymbolAtom>& sym);
|
||||
|
||||
/**
|
||||
* Looks up the name in the table and returns the corresponding SymbolAtom
|
||||
* representing the symbol (if it's found).
|
||||
*
|
||||
* @param name the name of the symbol
|
||||
* @return a SymbolAtom representing the found symbol
|
||||
* @throw ex_symbol_not_found
|
||||
* if no symbol with the given name was found
|
||||
*/
|
||||
static sptr<SymbolAtom> get(const std::string& name);
|
||||
|
||||
__decl_clone(SymbolAtom)
|
||||
};
|
||||
|
||||
/**
|
||||
* An atom representing exactly one alphanumeric character and the text style in
|
||||
* which it should be drawn.
|
||||
*/
|
||||
class CharAtom : public CharSymbol {
|
||||
private:
|
||||
// alphanumeric character
|
||||
wchar_t _c;
|
||||
// text style (empty means the default text style)
|
||||
std::string _textStyle;
|
||||
bool _mathMode;
|
||||
|
||||
/**
|
||||
* Get the Char-object representing this character ("c") in the right text
|
||||
* style
|
||||
*/
|
||||
Char getChar(TeXFont& tf, TexStyle style, bool smallCap);
|
||||
|
||||
public:
|
||||
CharAtom() = delete;
|
||||
|
||||
/**
|
||||
* Creates a CharAtom that will represent the given character in the given
|
||||
* text style. Null for the text style means the default text style.
|
||||
*
|
||||
* @param c the alphanumeric character
|
||||
* @param textStyle the text style in which the character should be drawn
|
||||
*/
|
||||
CharAtom(wchar_t c, std::string textStyle)
|
||||
: _c(c), _textStyle(std::move(textStyle)), _mathMode(false) {}
|
||||
|
||||
CharAtom(wchar_t c, std::string textStyle, bool mathMode)
|
||||
: _c(c), _textStyle(std::move(textStyle)), _mathMode(mathMode) {}
|
||||
|
||||
inline wchar_t getCharacter() {
|
||||
return _c;
|
||||
}
|
||||
|
||||
inline bool isMathMode() {
|
||||
return _mathMode;
|
||||
}
|
||||
|
||||
sptr<Box> createBox(Environment& env) override;
|
||||
|
||||
// FIXME
|
||||
// workaround for the MSVS's LNK2019 error
|
||||
// it should be implemented in the atom_char.cpp file
|
||||
sptr<CharFont> getCharFont(TeXFont& tf) override {
|
||||
return getChar(tf, TexStyle::display, false).getCharFont();
|
||||
}
|
||||
|
||||
__decl_clone(CharAtom)
|
||||
};
|
||||
|
||||
/** An empty atom just to add a mark. */
|
||||
class BreakMarkAtom : public Atom {
|
||||
public:
|
||||
sptr<Box> createBox(Environment& env) override;
|
||||
|
||||
__decl_clone(BreakMarkAtom)
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
#endif //LATEX_ATOM_CHAR_H
|
||||
458
3rdparty/MicroTeX/src/atom/atom_impl.cpp
vendored
Normal file
458
3rdparty/MicroTeX/src/atom/atom_impl.cpp
vendored
Normal file
@ -0,0 +1,458 @@
|
||||
#include "atom/atom_impl.h"
|
||||
|
||||
#include <memory>
|
||||
|
||||
using namespace std;
|
||||
using namespace tex;
|
||||
|
||||
/**************************************** small atoms *********************************************/
|
||||
|
||||
const float FBoxAtom::INTERSPACE = 0.65f;
|
||||
float OvalAtom::_multiplier = 0.5f;
|
||||
float OvalAtom::_diameter = 0.f;
|
||||
|
||||
const int FencedAtom::DELIMITER_FACTOR = 901;
|
||||
const float FencedAtom::DELIMITER_SHORTFALL = 5.f;
|
||||
|
||||
void FencedAtom::init(const sptr<Atom>& b, const sptr<SymbolAtom>& l, const sptr<SymbolAtom>& r) {
|
||||
if (b == nullptr)
|
||||
_base = sptrOf<RowAtom>();
|
||||
else
|
||||
_base = b;
|
||||
if (l == nullptr || l->getName() != "normaldot") _left = l;
|
||||
if (r == nullptr || r->getName() != "normaldot") _right = r;
|
||||
}
|
||||
|
||||
void FencedAtom::center(Box& b, float axis) {
|
||||
float h = b._height, total = h + b._depth;
|
||||
b._shift = -(total / 2 - h) - axis;
|
||||
}
|
||||
|
||||
sptr<Box> FencedAtom::createBox(Environment& env) {
|
||||
TeXFont& tf = *(env.getTeXFont());
|
||||
// can not break
|
||||
auto* ra = dynamic_cast<RowAtom*>(_base.get());
|
||||
if (ra != nullptr) ra->setBreakable(false);
|
||||
auto content = _base->createBox(env);
|
||||
float shortfall = DELIMITER_SHORTFALL * SpaceAtom::getFactor(UnitType::point, env);
|
||||
float axis = tf.getAxisHeight(env.getStyle());
|
||||
float delta = max(content->_height - axis, content->_depth + axis);
|
||||
float minh = max(delta / 500.f * DELIMITER_FACTOR, 2 * delta - shortfall);
|
||||
|
||||
auto* hb = new HBox();
|
||||
|
||||
if (!_middle.empty()) {
|
||||
for (const auto& atom : _middle) {
|
||||
auto* sym = dynamic_cast<SymbolAtom*>(atom->_base.get());
|
||||
if (sym != nullptr) {
|
||||
auto b = DelimiterFactory::create(sym->getName(), env, minh);
|
||||
center(*b, axis);
|
||||
atom->_box = b;
|
||||
}
|
||||
}
|
||||
if (!_middle.empty()) content = _base->createBox(env);
|
||||
}
|
||||
|
||||
// left delimiter
|
||||
if (_left != nullptr) {
|
||||
auto b = DelimiterFactory::create(_left->getName(), env, minh);
|
||||
center(*b, axis);
|
||||
hb->add(b);
|
||||
}
|
||||
|
||||
// glue between left delimiter and content (if not whitespace)
|
||||
auto* sp = dynamic_cast<SpaceAtom*>(_base.get());
|
||||
if (sp == nullptr) hb->add(Glue::get(AtomType::opening, _base->leftType(), env));
|
||||
|
||||
// add content
|
||||
hb->add(content);
|
||||
|
||||
// glue between right delimiter and content (if not whitespace)
|
||||
if (sp == nullptr) hb->add(Glue::get(_base->rightType(), AtomType::closing, env));
|
||||
|
||||
// right delimiter
|
||||
if (_right != nullptr) {
|
||||
auto b = DelimiterFactory::create(_right->getName(), env, minh);
|
||||
center(*b, axis);
|
||||
hb->add(b);
|
||||
}
|
||||
|
||||
return sptr<Box>(hb);
|
||||
}
|
||||
|
||||
/****************************************** fraction atom *****************************************/
|
||||
|
||||
void FractionAtom::init(const sptr<Atom>& num, const sptr<Atom>& den, bool nodef, UnitType unit, float t) {
|
||||
_numAlign = Alignment::center;
|
||||
_denomAlign = Alignment::center;
|
||||
_deffactor = 1.f;
|
||||
|
||||
_numerator = num;
|
||||
_denominator = den;
|
||||
_nodefault = nodef;
|
||||
_thickness = t;
|
||||
_unit = unit;
|
||||
_type = AtomType::ordinary;
|
||||
_useKern = true;
|
||||
_deffactorset = false;
|
||||
}
|
||||
|
||||
sptr<Box> FractionAtom::createBox(Environment& env) {
|
||||
TeXFont& tf = *(env.getTeXFont());
|
||||
TexStyle style = env.getStyle();
|
||||
// set thickness to default if default value should be use
|
||||
float drt = tf.getDefaultRuleThickness(style);
|
||||
if (_nodefault) _thickness *= SpaceAtom::getFactor(_unit, env);
|
||||
else _thickness = _deffactorset ? _deffactor * drt : drt;
|
||||
|
||||
// create equal width boxes in appropriate styles
|
||||
auto num = (
|
||||
_numerator == nullptr
|
||||
? sptrOf<StrutBox>(0.f, 0.f, 0.f, 0.f)
|
||||
: _numerator->createBox(*(env.numStyle()))
|
||||
);
|
||||
auto denom = (
|
||||
_denominator == nullptr
|
||||
? sptrOf<StrutBox>(0.f, 0.f, 0.f, 0.f)
|
||||
: _denominator->createBox(*(env.dnomStyle()))
|
||||
);
|
||||
|
||||
if (num->_width < denom->_width) num = sptrOf<HBox>(num, denom->_width, _numAlign);
|
||||
else denom = sptrOf<HBox>(denom, num->_width, _denomAlign);
|
||||
|
||||
// calculate default shift amounts
|
||||
float shiftup, shiftdown;
|
||||
if (style < TexStyle::text) {
|
||||
shiftup = tf.getNum1(style);
|
||||
shiftdown = tf.getDenom1(style);
|
||||
} else {
|
||||
shiftdown = tf.getDenom2(style);
|
||||
if (_thickness > 0) shiftup = tf.getNum2(style);
|
||||
else shiftup = tf.getNum3(style);
|
||||
}
|
||||
|
||||
// upper part of vertical box = numerator
|
||||
auto* vb = new VBox();
|
||||
vb->add(num);
|
||||
|
||||
// calculate clearance clr, adjust shift amounts and create vertical box
|
||||
float clr, delta, axis = tf.getAxisHeight(style);
|
||||
|
||||
if (_thickness > 0) {
|
||||
// with fraction rule
|
||||
// clearance clr
|
||||
if (style < TexStyle::text) clr = 3 * _thickness;
|
||||
else clr = _thickness;
|
||||
|
||||
// adjust shift amount
|
||||
delta = _thickness / 2.f;
|
||||
float kern1 = shiftup - num->_depth - (axis + delta);
|
||||
float kern2 = axis - delta - (denom->_height - shiftdown);
|
||||
float delta1 = clr - kern1;
|
||||
float delta2 = clr - kern2;
|
||||
if (delta1 > 0) {
|
||||
shiftup += delta1;
|
||||
kern1 += delta1;
|
||||
}
|
||||
if (delta2 > 0) {
|
||||
shiftdown += delta2;
|
||||
kern2 += delta2;
|
||||
}
|
||||
|
||||
// fill vertical box
|
||||
vb->add(sptrOf<StrutBox>(0.f, kern1, 0.f, 0.f));
|
||||
vb->add(sptrOf<RuleBox>(_thickness, num->_width, 0.f));
|
||||
vb->add(sptrOf<StrutBox>(0.f, kern2, 0.f, 0.f));
|
||||
} else {
|
||||
// without fraction rule
|
||||
// clearance clr
|
||||
if (style < TexStyle::text) clr = 7 * drt;
|
||||
else clr = 3 * drt;
|
||||
|
||||
// adjust shift amounts
|
||||
float kern = shiftup - num->_depth - (denom->_height - shiftdown);
|
||||
delta = (clr - kern) / 2;
|
||||
if (delta > 0) {
|
||||
shiftup += delta;
|
||||
shiftdown += delta;
|
||||
kern += 2 * delta;
|
||||
}
|
||||
// fill vertical box
|
||||
vb->add(sptrOf<StrutBox>(0.f, kern, 0.f, 0.f));
|
||||
}
|
||||
|
||||
// finish vertical box
|
||||
vb->add(denom);
|
||||
vb->_height = shiftup + num->_height;
|
||||
vb->_depth = shiftdown + denom->_depth;
|
||||
|
||||
if (!_useKern) return sptr<Box>(vb);
|
||||
|
||||
// \nulldelimiterspace is set by default to 1.2pt = 0.12em
|
||||
float f = SpaceAtom::getSize(UnitType::em, 0.12f, env);
|
||||
|
||||
return sptrOf<HBox>(sptr<Box>(vb), vb->_width + 2 * f, Alignment::center);
|
||||
}
|
||||
|
||||
const string NthRoot::_sqrtSymbol = "sqrt";
|
||||
const float NthRoot::FACTOR = 0.55f;
|
||||
|
||||
sptr<Box> NthRoot::createBox(Environment& env) {
|
||||
// first create a simple square root construction
|
||||
TeXFont& tf = *(env.getTeXFont());
|
||||
TexStyle style = env.getStyle();
|
||||
// calculate minimum clearance clr
|
||||
float clr, drt = tf.getDefaultRuleThickness(style);
|
||||
if (style < TexStyle::text) clr = tf.getXHeight(style, tf.getChar(_sqrtSymbol, style).getFontCode());
|
||||
else clr = drt;
|
||||
clr = drt + abs(clr) / 4.f;
|
||||
|
||||
// cramped style for the formula under the root sign
|
||||
Environment& cramped = *(env.crampStyle());
|
||||
auto bs = _base->createBox(cramped);
|
||||
auto b = sptrOf<HBox>(bs);
|
||||
b->add(sptr<Box>(SpaceAtom(UnitType::mu, 1.f, 0.f, 0.f).createBox(cramped)));
|
||||
|
||||
// create root sign
|
||||
float totalH = b->_height + b->_depth;
|
||||
auto rootSign = DelimiterFactory::create(_sqrtSymbol, env, totalH + clr + drt);
|
||||
|
||||
// add half the excess to clr
|
||||
float delta = rootSign->_depth - (totalH + clr);
|
||||
clr += delta / 2;
|
||||
|
||||
// create total box
|
||||
rootSign->_shift = -(b->_height + clr);
|
||||
auto ob = sptrOf<OverBar>(b, clr, rootSign->_height);
|
||||
ob->_shift = -(b->_height + clr + drt);
|
||||
auto squareRoot = sptrOf<HBox>(rootSign);
|
||||
squareRoot->add(ob);
|
||||
|
||||
// simple square-root
|
||||
if (_root == nullptr) return squareRoot;
|
||||
|
||||
// nth root
|
||||
auto r = _root->createBox(*(env.rootStyle()));
|
||||
// shift root up
|
||||
float bottomShift = FACTOR * (squareRoot->_height + squareRoot->_depth);
|
||||
r->_shift = squareRoot->_depth - r->_depth - bottomShift;
|
||||
|
||||
// negative kerning
|
||||
sptr<Box> negkern = SpaceAtom(UnitType::mu, -10.f, 0.f, 0.f).createBox(env);
|
||||
|
||||
// arrange both boxes together with the negative kerning
|
||||
auto res = sptrOf<HBox>();
|
||||
float pos = r->_width + negkern->_width;
|
||||
if (pos < 0) res->add(sptrOf<StrutBox>(-pos, 0.f, 0.f, 0.f));
|
||||
|
||||
res->add(r);
|
||||
res->add(negkern);
|
||||
res->add(squareRoot);
|
||||
return res;
|
||||
}
|
||||
|
||||
RotateAtom::RotateAtom(const sptr<Atom>& base, float angle, const wstring& option)
|
||||
: _angle(0), _option(Rotation::bl), _xunit(UnitType::em), _yunit(UnitType::em), _x(0), _y(0) {
|
||||
_type = base->_type;
|
||||
_base = base;
|
||||
_angle = angle;
|
||||
const string x = wide2utf8(option);
|
||||
const auto& opt = parseOption(x);
|
||||
auto it = opt.find("origin");
|
||||
if (it != opt.end()) {
|
||||
_option = RotateBox::getOrigin(it->second);
|
||||
return;
|
||||
}
|
||||
it = opt.find("x");
|
||||
if (it != opt.end()) {
|
||||
auto[u, x] = SpaceAtom::getLength(it->second);
|
||||
_xunit = u, _x = x;
|
||||
} else {
|
||||
_xunit = UnitType::point, _x = 0;
|
||||
}
|
||||
it = opt.find("y");
|
||||
if (it != opt.end()) {
|
||||
auto[u, y] = SpaceAtom::getLength(it->second);
|
||||
_yunit = u, _y = y;
|
||||
} else {
|
||||
_yunit = UnitType::point, _y = 0;
|
||||
}
|
||||
}
|
||||
|
||||
RotateAtom::RotateAtom(const sptr<Atom>& base, const wstring& angle, const wstring& option)
|
||||
: _angle(0), _option(Rotation::none), _xunit(UnitType::em), _yunit(UnitType::em), _x(0), _y(0) {
|
||||
_type = base->_type;
|
||||
_base = base;
|
||||
valueof(angle, _angle);
|
||||
const string x = wide2utf8(option);
|
||||
_option = RotateBox::getOrigin(x);
|
||||
}
|
||||
|
||||
sptr<Box> RotateAtom::createBox(Environment& env) {
|
||||
if (_option != Rotation::none) {
|
||||
return sptrOf<RotateBox>(_base->createBox(env), _angle, _option);
|
||||
}
|
||||
|
||||
float x = _x * SpaceAtom::getFactor(_xunit, env);
|
||||
float y = _y * SpaceAtom::getFactor(_yunit, env);
|
||||
return sptrOf<RotateBox>(_base->createBox(env), _angle, x, y);
|
||||
}
|
||||
|
||||
sptr<Box> UnderOverArrowAtom::createBox(Environment& env) {
|
||||
auto b = _base != nullptr ? _base->createBox(env) : sptrOf<StrutBox>(0.f, 0.f, 0.f, 0.f);
|
||||
float sep = SpaceAtom::getSize(UnitType::mu, 1, env);
|
||||
|
||||
sptr<Box> arrow;
|
||||
|
||||
if (_dble) {
|
||||
arrow = XLeftRightArrowFactory::create(env, b->_width);
|
||||
} else {
|
||||
arrow = XLeftRightArrowFactory::create(_left, env, b->_width);
|
||||
}
|
||||
|
||||
auto* vb = new VBox();
|
||||
if (_over) {
|
||||
vb->add(arrow);
|
||||
if (_dble) vb->add(sptrOf<StrutBox>(0.f, -sep, 0.f, 0.f));
|
||||
vb->add(sptrOf<HBox>(b, arrow->_width, Alignment::center));
|
||||
float h = vb->_depth + vb->_height;
|
||||
vb->_depth = b->_depth;
|
||||
vb->_height = h - b->_depth;
|
||||
} else {
|
||||
vb->add(sptrOf<HBox>(b, arrow->_width, Alignment::center));
|
||||
vb->add(sptrOf<StrutBox>(0.f, sep, 0.f, 0.f));
|
||||
vb->add(arrow);
|
||||
float h = vb->_depth + vb->_height;
|
||||
vb->_depth = h - b->_height;
|
||||
vb->_height = b->_height;
|
||||
}
|
||||
|
||||
return sptr<Box>(vb);
|
||||
}
|
||||
|
||||
sptr<Box> XArrowAtom::createBox(Environment& env) {
|
||||
auto O = (
|
||||
_over != nullptr
|
||||
? _over->createBox(*(env.supStyle()))
|
||||
: sptrOf<StrutBox>(0.f, 0.f, 0.f, 0.f)
|
||||
);
|
||||
auto U = (
|
||||
_under != nullptr
|
||||
? _under->createBox(*(env.subStyle()))
|
||||
: sptrOf<StrutBox>(0.f, 0.f, 0.f, 0.f)
|
||||
);
|
||||
|
||||
auto oside = SpaceAtom(UnitType::em, 1.5f, 0, 0).createBox(*(env.supStyle()));
|
||||
auto uside = SpaceAtom(UnitType::em, 1.5f, 0, 0).createBox(*(env.subStyle()));
|
||||
auto sep = SpaceAtom(UnitType::mu, 0, 2.f, 0).createBox(env);
|
||||
float width = max(O->_width + 2 * oside->_width, U->_width + 2 * uside->_width);
|
||||
auto arrow = XLeftRightArrowFactory::create(_left, env, width);
|
||||
|
||||
auto ohb = sptrOf<HBox>(O, width, Alignment::center);
|
||||
auto uhb = sptrOf<HBox>(U, width, Alignment::center);
|
||||
|
||||
auto vb = sptrOf<VBox>();
|
||||
vb->add(ohb);
|
||||
vb->add(sep);
|
||||
vb->add(arrow);
|
||||
vb->add(sep);
|
||||
vb->add(uhb);
|
||||
|
||||
float h = vb->_height + vb->_depth;
|
||||
float d = sep->_height + sep->_depth + uhb->_height + uhb->_depth;
|
||||
vb->_depth = d;
|
||||
vb->_height = h - d;
|
||||
|
||||
auto* hb = new HBox(vb, vb->_width + 2 * sep->_height, Alignment::center);
|
||||
|
||||
return sptr<Box>(hb);
|
||||
}
|
||||
|
||||
void LongDivAtom::calculate(vector<wstring>& results) const {
|
||||
long quotient = _dividend / _divisor;
|
||||
results.push_back(towstring(quotient));
|
||||
string x = tostring(quotient);
|
||||
size_t len = x.length();
|
||||
long remaining = _dividend;
|
||||
results.push_back(towstring(remaining));
|
||||
for (size_t i = 0; i < len; i++) {
|
||||
long b = (x[i] - '0') * pow(10, len - i - 1);
|
||||
long product = b * _divisor;
|
||||
remaining = remaining - product;
|
||||
results.push_back(towstring(product));
|
||||
results.push_back(towstring(remaining));
|
||||
}
|
||||
}
|
||||
|
||||
LongDivAtom::LongDivAtom(long divisor, long dividend)
|
||||
: _divisor(divisor), _dividend(dividend) {
|
||||
_halign = Alignment::right;
|
||||
setVtop(true);
|
||||
vector<wstring> results;
|
||||
calculate(results);
|
||||
|
||||
auto rule = sptrOf<RuleAtom>(UnitType::ex, 0.f, UnitType::ex, 2.6f, UnitType::ex, 0.5f);
|
||||
|
||||
const int s = results.size();
|
||||
for (int i = 0; i < s; i++) {
|
||||
auto num = Formula(results[i])._root;
|
||||
if (i == 1) {
|
||||
wstring divisor = towstring(_divisor);
|
||||
auto rparen = SymbolAtom::get(Formula::_symbolMappings[')']);
|
||||
auto big = sptrOf<BigDelimiterAtom>(rparen, 1);
|
||||
auto ph = sptrOf<PhantomAtom>(big, false, true, true);
|
||||
auto ra = sptrOf<RowAtom>(ph);
|
||||
auto raised = sptrOf<RaiseAtom>(
|
||||
big,
|
||||
UnitType::x8,
|
||||
3.5f,
|
||||
UnitType::x8,
|
||||
0.f,
|
||||
UnitType::x8,
|
||||
0.f
|
||||
);
|
||||
ra->add(sptrOf<SmashedAtom>(raised));
|
||||
ra->add(num);
|
||||
auto oa = sptrOf<OverlinedAtom>(ra);
|
||||
auto row = sptrOf<RowAtom>(Formula(divisor)._root);
|
||||
row->add(sptrOf<SpaceAtom>(SpaceType::thinMuSkip));
|
||||
row->add(oa);
|
||||
append(row);
|
||||
continue;
|
||||
}
|
||||
if (i % 2 == 0) {
|
||||
auto row = sptrOf<RowAtom>(num);
|
||||
row->add(rule);
|
||||
if (i == 0) append(row);
|
||||
else append(sptrOf<UnderlinedAtom>(row));
|
||||
} else {
|
||||
auto row = sptrOf<RowAtom>(num);
|
||||
row->add(rule);
|
||||
append(row);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
sptr<Box> CancelAtom::createBox(Environment& env) {
|
||||
auto box = _base->createBox(env);
|
||||
vector<float> lines;
|
||||
if (_cancelType == SLASH) {
|
||||
lines = {0, 0, box->_width, box->_height + box->_depth};
|
||||
} else if (_cancelType == BACKSLASH) {
|
||||
lines = {box->_width, 0, 0, box->_height + box->_depth};
|
||||
} else if (_cancelType == CROSS) {
|
||||
lines = {0, 0, box->_width, box->_height + box->_depth, box->_width, 0, 0, box->_height + box->_depth};
|
||||
} else {
|
||||
return box;
|
||||
}
|
||||
|
||||
const float rt = env.getTeXFont()->getDefaultRuleThickness(env.getStyle());
|
||||
auto overlap = sptrOf<LineBox>(lines, rt);
|
||||
overlap->_width = box->_width;
|
||||
overlap->_height = box->_height;
|
||||
overlap->_depth = box->_depth;
|
||||
auto hbox = new HBox(box);
|
||||
hbox->add(sptr<Box>(new StrutBox(-box->_width, 0, 0, 0)));
|
||||
hbox->add(overlap);
|
||||
return sptr<Box>(hbox);
|
||||
}
|
||||
1151
3rdparty/MicroTeX/src/atom/atom_impl.h
vendored
Normal file
1151
3rdparty/MicroTeX/src/atom/atom_impl.h
vendored
Normal file
File diff suppressed because it is too large
Load Diff
732
3rdparty/MicroTeX/src/atom/atom_matrix.cpp
vendored
Normal file
732
3rdparty/MicroTeX/src/atom/atom_matrix.cpp
vendored
Normal file
@ -0,0 +1,732 @@
|
||||
#include <memory>
|
||||
|
||||
#include "atom/atom_impl.h"
|
||||
|
||||
using namespace std;
|
||||
using namespace tex;
|
||||
|
||||
color MatrixAtom::LINE_COLOR = transparent;
|
||||
|
||||
map<wstring, wstring> MatrixAtom::_colspeReplacement;
|
||||
|
||||
SpaceAtom MatrixAtom::_hsep(UnitType::em, 1.f, 0.f, 0.f);
|
||||
SpaceAtom MatrixAtom::_semihsep(UnitType::em, 0.5f, 0.f, 0.f);
|
||||
SpaceAtom MatrixAtom::_vsep_in(UnitType::ex, 0.f, 1.f, 0.f);
|
||||
SpaceAtom MatrixAtom::_vsep_ext_top(UnitType::ex, 0.f, 0.5f, 0.f);
|
||||
SpaceAtom MatrixAtom::_vsep_ext_bot(UnitType::ex, 0.f, 0.5f, 0.f);
|
||||
SpaceAtom MatrixAtom::_align(SpaceType::medMuSkip);
|
||||
|
||||
sptr<Box> MatrixAtom::_nullbox(new StrutBox(0.f, 0.f, 0.f, 0.f));
|
||||
|
||||
void MatrixAtom::defineColumnSpecifier(const wstring& rep, const wstring& spe) {
|
||||
_colspeReplacement[rep] = spe;
|
||||
}
|
||||
|
||||
void MatrixAtom::parsePositions(wstring opt, vector<Alignment>& lpos) {
|
||||
int len = opt.length();
|
||||
int pos = 0;
|
||||
wchar_t ch;
|
||||
sptr<Formula> tf;
|
||||
sptr<TeXParser> tp;
|
||||
// clear first
|
||||
lpos.clear();
|
||||
while (pos < len) {
|
||||
ch = opt[pos];
|
||||
switch (ch) {
|
||||
case 'l':
|
||||
lpos.push_back(Alignment::left);
|
||||
break;
|
||||
case 'r':
|
||||
lpos.push_back(Alignment::right);
|
||||
break;
|
||||
case 'c':
|
||||
lpos.push_back(Alignment::center);
|
||||
break;
|
||||
case '|': {
|
||||
int nb = 1;
|
||||
while (++pos < len) {
|
||||
ch = opt[pos];
|
||||
if (ch != '|') {
|
||||
pos--;
|
||||
break;
|
||||
} else {
|
||||
nb++;
|
||||
}
|
||||
}
|
||||
_vlines[lpos.size()] = sptrOf<VlineAtom>(nb);
|
||||
}
|
||||
break;
|
||||
case '@': {
|
||||
pos++;
|
||||
tf = sptrOf<Formula>();
|
||||
tp = sptrOf<TeXParser>(_isPartial, opt.substr(pos), tf.get(), false);
|
||||
auto atom = tp->getArgument();
|
||||
// Keep columns same with the matrix
|
||||
if (lpos.size() > _matrix->cols()) lpos.resize(_matrix->cols());
|
||||
_matrix->insertAtomIntoCol(lpos.size(), atom);
|
||||
|
||||
lpos.push_back(Alignment::none);
|
||||
pos += tp->getPos();
|
||||
pos--;
|
||||
}
|
||||
break;
|
||||
case '*': {
|
||||
pos++;
|
||||
tf = sptrOf<Formula>();
|
||||
tp = sptrOf<TeXParser>(_isPartial, opt.substr(pos), tf.get(), false);
|
||||
vector<wstring> args;
|
||||
tp->getOptsArgs(2, 0, args);
|
||||
pos += tp->getPos();
|
||||
int nrep = 0;
|
||||
valueof(args[1], nrep);
|
||||
wstring str;
|
||||
for (int j = 0; j < nrep; j++) str += args[2];
|
||||
opt.insert(pos, str);
|
||||
len = opt.length();
|
||||
pos--;
|
||||
}
|
||||
break;
|
||||
case '>': {
|
||||
pos++;
|
||||
tf = sptrOf<ArrayFormula>();
|
||||
tp = sptrOf<TeXParser>(_isPartial, opt.substr(pos), &(*tf), false);
|
||||
sptr<Atom> cs = tp->getArgument();
|
||||
_columnSpecifiers[lpos.size()] = cs;
|
||||
pos += tp->getPos();
|
||||
pos--;
|
||||
}
|
||||
break;
|
||||
case ' ':
|
||||
case '\t':
|
||||
break;
|
||||
default: {
|
||||
int spos = len + 1;
|
||||
bool hasrep = false;
|
||||
while (--spos > pos) {
|
||||
auto it = _colspeReplacement.find(opt.substr(pos, spos - pos));
|
||||
if (it != _colspeReplacement.end()) {
|
||||
hasrep = true;
|
||||
opt.insert(spos, it->second);
|
||||
len = opt.length();
|
||||
pos = spos - 1;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (!hasrep) lpos.push_back(Alignment::center);
|
||||
}
|
||||
break;
|
||||
}
|
||||
pos++;
|
||||
}
|
||||
|
||||
for (size_t j = lpos.size(); j < _matrix->cols(); j++) lpos.push_back(Alignment::center);
|
||||
|
||||
if (lpos.empty()) lpos.push_back(Alignment::center);
|
||||
}
|
||||
|
||||
float* MatrixAtom::getColumnSep(Environment& env, float width) {
|
||||
const int cols = _matrix->cols();
|
||||
auto* arr = new float[cols + 1]();
|
||||
sptr<Box> Align, AlignSep, Hsep;
|
||||
float h, w = env.getTextWidth();
|
||||
int i = 0;
|
||||
|
||||
if (_matType == MatrixType::aligned || _matType == MatrixType::alignedAt) w = POS_INF;
|
||||
|
||||
switch (_matType) {
|
||||
case MatrixType::array: {
|
||||
// Array: (hsep_col/2 or 0) elem hsep_col elem hsep_col ... hsep_col elem (hsep_col/2 or 0)
|
||||
Hsep = _hsep.createBox(env);
|
||||
for (int i = 0; i < cols; i++) {
|
||||
if (_position[i] == Alignment::none) {
|
||||
arr[i] = arr[i + 1] = 0;
|
||||
i++;
|
||||
} else {
|
||||
arr[i] = Hsep->_width;
|
||||
}
|
||||
}
|
||||
if (_spaceAround) {
|
||||
const auto half = Hsep->_width / 2;
|
||||
if (_position.front() != Alignment::none) arr[0] = half;
|
||||
if (_position.back() != Alignment::none) arr[cols] = half;
|
||||
}
|
||||
return arr;
|
||||
}
|
||||
case MatrixType::matrix:
|
||||
case MatrixType::smallMatrix: {
|
||||
// Simple matrix: 0 elem hsep_col elem hsep_col ... hsep_col elem 0
|
||||
arr[0] = 0;
|
||||
arr[cols] = arr[0];
|
||||
Hsep = _hsep.createBox(env);
|
||||
for (i = 1; i < cols; i++) arr[i] = Hsep->_width;
|
||||
return arr;
|
||||
}
|
||||
case MatrixType::aligned:
|
||||
case MatrixType::align: {
|
||||
// Align env: hsep = (textwidth - matwidth) / (2n + 1)
|
||||
// Spaces: hsep eq_left \medskip eq_right hsep ... hsep elem hsep
|
||||
Align = _align.createBox(env);
|
||||
if (w != POS_INF) {
|
||||
h = max((w - width - cols / 2 * Align->_width) / floor((cols + 3) / 2.f), 0.f);
|
||||
AlignSep = sptrOf<StrutBox>(h, 0.f, 0.f, 0.f);
|
||||
} else {
|
||||
AlignSep = _hsep.createBox(env);
|
||||
}
|
||||
|
||||
arr[cols] = AlignSep->_width;
|
||||
for (int i = 0; i < cols; i++) {
|
||||
if (i % 2 == 0)
|
||||
arr[i] = AlignSep->_width;
|
||||
else
|
||||
arr[i] = Align->_width;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case MatrixType::alignedAt:
|
||||
case MatrixType::alignAt: {
|
||||
// Aignat env: hsep = (textwidth - matwdith) / 2
|
||||
// Spaces: hsep elem ... elem hsep
|
||||
if (w != POS_INF)
|
||||
h = max((w - width) / 2, 0.f);
|
||||
else
|
||||
h = 0;
|
||||
Align = _align.createBox(env);
|
||||
arr[0] = h;
|
||||
arr[cols] = arr[0];
|
||||
for (int i = 1; i < cols; i++) {
|
||||
if (i % 2 == 0)
|
||||
arr[i] = 0;
|
||||
else
|
||||
arr[i] = Align->_width;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case MatrixType::flAlign: {
|
||||
// flalgin env : hsep = (textwidth - matwidth) / (2n + 1)
|
||||
// Spaces: hsep eq_left \medskip el_right hsep ... hsep elem hsep
|
||||
Align = _align.createBox(env);
|
||||
if (w != POS_INF) {
|
||||
h = max((w - width - (cols / 2) * Align->_width) / floor((cols - 1) / 2.f), 0.f);
|
||||
AlignSep = sptrOf<StrutBox>(h, 0.f, 0.f, 0.f);
|
||||
} else {
|
||||
AlignSep = _hsep.createBox(env);
|
||||
}
|
||||
|
||||
arr[0] = 0;
|
||||
arr[cols] = arr[0];
|
||||
for (int i = 1; i < cols; i++) {
|
||||
if (i % 2 == 0)
|
||||
arr[i] = AlignSep->_width;
|
||||
else
|
||||
arr[i] = Align->_width;
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
if (w == POS_INF) {
|
||||
arr[0] = 0;
|
||||
arr[cols] = arr[0];
|
||||
}
|
||||
|
||||
return arr;
|
||||
}
|
||||
|
||||
void MatrixAtom::recalculateLine(
|
||||
const int rows,
|
||||
sptr<Box>** boxarr,
|
||||
vector<sptr<Atom>>& multiRows,
|
||||
float* height,
|
||||
float* depth,
|
||||
float drt,
|
||||
float vspace
|
||||
) {
|
||||
const size_t s = multiRows.size();
|
||||
for (size_t i = 0; i < s; i++) {
|
||||
auto* m = (MultiRowAtom*) multiRows[i].get();
|
||||
const int r = m->_i;
|
||||
const int c = m->_j;
|
||||
int n = m->_n;
|
||||
int skipped = 0;
|
||||
float h = 0;
|
||||
if (n < 0) {
|
||||
// Across from bottom to top
|
||||
int j = r;
|
||||
for (; j >= 0 && j > r + n; j--) {
|
||||
if (boxarr[j][0]->_type == AtomType::hline) {
|
||||
if (j == 0) break;
|
||||
h += drt;
|
||||
n--;
|
||||
} else {
|
||||
skipped++;
|
||||
h += height[j] + depth[j] + vspace;
|
||||
}
|
||||
}
|
||||
m->_i = ++j;
|
||||
auto tmp = boxarr[r][c];
|
||||
boxarr[r][c] = boxarr[j][c];
|
||||
boxarr[j][c] = tmp;
|
||||
} else {
|
||||
// Across from top to bottom
|
||||
for (int j = r; j < r + n && j < rows; j++) {
|
||||
if (boxarr[j][0]->_type == AtomType::hline) {
|
||||
if (j == rows - 1) break;
|
||||
h += drt;
|
||||
n++;
|
||||
} else {
|
||||
skipped++;
|
||||
h += height[j] + depth[j] + vspace;
|
||||
}
|
||||
}
|
||||
}
|
||||
m->_n = abs(n);
|
||||
auto b = boxarr[m->_i][m->_j];
|
||||
const float bh = b->_height + b->_depth + vspace;
|
||||
if (h > bh) {
|
||||
b->_height = (h - bh + vspace) / 2.f;
|
||||
} else if (h < bh) {
|
||||
const float ex = (bh - h) / skipped / 2.f;
|
||||
const int mr = m->_i + m->_n;
|
||||
for (int j = m->_i; j < mr; j++) {
|
||||
if (boxarr[j][0]->_type != AtomType::hline) {
|
||||
height[j] += ex;
|
||||
depth[j] += ex;
|
||||
}
|
||||
}
|
||||
b->_height = height[m->_i];
|
||||
b->_depth = bh - b->_height - vspace;
|
||||
}
|
||||
boxarr[m->_i][m->_j]->_type = AtomType::none;
|
||||
}
|
||||
}
|
||||
|
||||
sptr<Box> MatrixAtom::generateMulticolumn(
|
||||
Environment& env,
|
||||
const sptr<Box>& b,
|
||||
const float* hsep,
|
||||
const float* colWidth,
|
||||
int i,
|
||||
int j
|
||||
) {
|
||||
float w = 0;
|
||||
auto* mca = (MulticolumnAtom*) (_matrix->_array[i][j].get());
|
||||
int k, n = mca->skipped();
|
||||
for (k = j; k < j + n - 1; k++) {
|
||||
w += colWidth[k] + hsep[k + 1];
|
||||
auto it = _vlines.find(k + 1);
|
||||
if (it != _vlines.end()) w += it->second->getWidth(env);
|
||||
}
|
||||
w += colWidth[k];
|
||||
|
||||
if (mca->isNeedWidth() && mca->colWidth() <= PREC) {
|
||||
mca->setColWidth(w);
|
||||
return mca->createBox(env);
|
||||
}
|
||||
|
||||
if (b->_width >= w) return b;
|
||||
|
||||
return sptrOf<HBox>(b, w, mca->align());
|
||||
}
|
||||
|
||||
MatrixAtom::MatrixAtom(bool isPartial, const sptr<ArrayFormula>& arr, const wstring& options, bool spaceAround) {
|
||||
_matrix = arr;
|
||||
_matType = MatrixType::array;
|
||||
_isPartial = isPartial;
|
||||
_spaceAround = spaceAround;
|
||||
parsePositions(wstring(options), _position);
|
||||
}
|
||||
|
||||
MatrixAtom::MatrixAtom(bool isPartial, const sptr<ArrayFormula>& arr, const wstring& options) {
|
||||
_matrix = arr;
|
||||
_matType = MatrixType::array;
|
||||
_isPartial = isPartial;
|
||||
_spaceAround = false;
|
||||
parsePositions(wstring(options), _position);
|
||||
}
|
||||
|
||||
MatrixAtom::MatrixAtom(bool isPartial, const sptr<ArrayFormula>& arr, MatrixType type) {
|
||||
_matrix = arr;
|
||||
_matType = type;
|
||||
_isPartial = isPartial;
|
||||
_spaceAround = false;
|
||||
|
||||
const int cols = arr->cols();
|
||||
if (type != MatrixType::matrix && type != MatrixType::smallMatrix) {
|
||||
_position.resize(cols);
|
||||
for (size_t i = 0; i < cols; i += 2) {
|
||||
_position[i] = Alignment::right;
|
||||
if (i + 1 < cols) _position[i + 1] = Alignment::left;
|
||||
}
|
||||
} else {
|
||||
_position.resize(cols);
|
||||
for (size_t i = 0; i < cols; i++) _position[i] = Alignment::center;
|
||||
}
|
||||
}
|
||||
|
||||
void MatrixAtom::applyCell(WrapperBox& box, int i, int j) {
|
||||
// 1. apply column specifier
|
||||
const auto col = _columnSpecifiers.find(j);
|
||||
if (col != _columnSpecifiers.end()) {
|
||||
auto spe = col->second;
|
||||
RowAtom* p = nullptr;
|
||||
auto* r = dynamic_cast<RowAtom*>(spe.get());
|
||||
while (r != nullptr) {
|
||||
spe = r->getFirstAtom();
|
||||
p = r;
|
||||
r = dynamic_cast<RowAtom*>(spe.get());
|
||||
}
|
||||
if (p != nullptr) {
|
||||
for (size_t k = 0; k < p->size(); k++) {
|
||||
CellSpecifier* s = dynamic_cast<CellSpecifier*>(p->get(k).get());
|
||||
if (s != nullptr) {
|
||||
s->apply(box);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
// 2. apply row specifier
|
||||
const auto row = _matrix->_rowSpecifiers.find(i);
|
||||
if (row != _matrix->_rowSpecifiers.end()) {
|
||||
for (const auto& s : row->second) s->apply(box);
|
||||
}
|
||||
// 3. cell specifier
|
||||
const string key = tostring(i) + tostring(j);
|
||||
auto cell = _matrix->_cellSpecifiers.find(key);
|
||||
if (cell != _matrix->_cellSpecifiers.end()) {
|
||||
for (const auto& s : cell->second) s->apply(box);
|
||||
}
|
||||
}
|
||||
|
||||
sptr<Box> MatrixAtom::createBox(Environment& e) {
|
||||
Environment& env = e;
|
||||
const int rows = _matrix->rows();
|
||||
const int cols = _matrix->cols();
|
||||
|
||||
auto* lineDepth = new float[rows]();
|
||||
auto* lineHeight = new float[rows]();
|
||||
auto* colWidth = new float[cols]();
|
||||
auto** boxarr = new sptr<Box>* [rows]();
|
||||
for (int i = 0; i < rows; i++) boxarr[i] = new sptr<Box>[cols]();
|
||||
|
||||
float matW = 0;
|
||||
float drt = env.getTeXFont()->getDefaultRuleThickness(env.getStyle());
|
||||
|
||||
if (_matType == MatrixType::smallMatrix) {
|
||||
env = *(e.copy());
|
||||
env.setStyle(TexStyle::script);
|
||||
} /* else if (_matType == MatrixType::matrix) {
|
||||
env = *(e.copy());
|
||||
env.setStyle(STYLE_TEXT);
|
||||
}*/
|
||||
|
||||
// multi-column & multi-row atoms
|
||||
vector<sptr<Atom>> listMultiCol;
|
||||
vector<sptr<Atom>> listMultiRow;
|
||||
for (int i = 0; i < rows; i++) {
|
||||
lineDepth[i] = 0;
|
||||
lineHeight[i] = 0;
|
||||
const int size = _matrix->_array[i].size();
|
||||
for (int j = 0; j < cols; j++) {
|
||||
if (j >= size) {
|
||||
// If current row is not full-filled, fill the row with _nullbox
|
||||
for (int k = j; k < cols; k++) boxarr[i][k] = _nullbox;
|
||||
break;
|
||||
}
|
||||
|
||||
sptr<Atom> atom = _matrix->_array[i][j];
|
||||
boxarr[i][j] = (atom == nullptr) ? _nullbox : atom->createBox(env);
|
||||
if (atom != nullptr && atom->_type == AtomType::interText) {
|
||||
boxarr[i][j]->_type = AtomType::interText;
|
||||
}
|
||||
|
||||
if (boxarr[i][j]->_type != AtomType::multiRow) {
|
||||
// Find the highest line (row)
|
||||
lineDepth[i] = max(boxarr[i][j]->_depth, lineDepth[i]);
|
||||
lineHeight[i] = max(boxarr[i][j]->_height, lineHeight[i]);
|
||||
} else {
|
||||
auto* mra = (MultiRowAtom*) atom.get();
|
||||
mra->setRowColumn(i, j);
|
||||
listMultiRow.push_back(atom);
|
||||
}
|
||||
|
||||
if (boxarr[i][j]->_type != AtomType::multiColumn) {
|
||||
// Find the widest column
|
||||
colWidth[j] = max(boxarr[i][j]->_width, colWidth[j]);
|
||||
} else {
|
||||
auto* mca = (MulticolumnAtom*) atom.get();
|
||||
mca->setRowColumn(i, j);
|
||||
listMultiCol.push_back(atom);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
for (int j = 0; j < cols; j++) matW += colWidth[j];
|
||||
|
||||
// The horizontal separator's width
|
||||
float* Hsep = getColumnSep(env, matW);
|
||||
|
||||
for (auto& i : listMultiCol) {
|
||||
auto* multi = (MulticolumnAtom*) i.get();
|
||||
const int c = multi->col(), r = multi->row(), n = multi->skipped();
|
||||
float w = 0;
|
||||
int j = 0;
|
||||
for (j = c; j < c + n - 1; j++) w += colWidth[j] + Hsep[j + 1];
|
||||
w += colWidth[j];
|
||||
if (boxarr[r][c]->_width > w) {
|
||||
// If the multi-column's width > the total width of the acrossed columns,
|
||||
// add an extra-space to each column
|
||||
matW += boxarr[r][c]->_width - w;
|
||||
const float extraW = (boxarr[r][c]->_width - w) / n;
|
||||
for (int k = c; k < c + n; k++) colWidth[k] += extraW;
|
||||
}
|
||||
}
|
||||
|
||||
// Add separator's space to the matrix width
|
||||
for (int j = 0; j < cols + 1; j++) {
|
||||
matW += Hsep[j];
|
||||
auto it = _vlines.find(j);
|
||||
if (it != _vlines.end()) matW += it->second->getWidth(env);
|
||||
}
|
||||
|
||||
auto Vsep = _vsep_in.createBox(env);
|
||||
// Recalculate the height of the row
|
||||
recalculateLine(rows, boxarr, listMultiRow, lineHeight, lineDepth, drt, Vsep->_height);
|
||||
|
||||
auto* vb = new VBox();
|
||||
float totalHeight = 0;
|
||||
float Vspace = Vsep->_height / 2;
|
||||
|
||||
for (int i = 0; i < rows; i++) {
|
||||
auto hb = sptrOf<HBox>();
|
||||
for (int j = 0; j < cols; j++) {
|
||||
switch (boxarr[i][j]->_type) {
|
||||
case AtomType::none:
|
||||
case AtomType::multiColumn: {
|
||||
if (j == 0) {
|
||||
auto it = _vlines.find(0);
|
||||
if (it != _vlines.end()) {
|
||||
auto vat = it->second;
|
||||
vat->_height = lineHeight[i] + lineDepth[i] + Vsep->_height;
|
||||
vat->_shift = lineDepth[i] + Vspace;
|
||||
auto vatBox = vat->createBox(env);
|
||||
hb->add(vatBox);
|
||||
}
|
||||
}
|
||||
|
||||
bool isLastVline = true;
|
||||
|
||||
WrapperBox* wb = nullptr;
|
||||
int tj = j;
|
||||
float l = j == 0 ? Hsep[j] : Hsep[j] / 2;
|
||||
if (boxarr[i][j]->_type == AtomType::none) {
|
||||
wb = new WrapperBox(
|
||||
boxarr[i][j], colWidth[j], lineHeight[i], lineDepth[i], _position[j] //
|
||||
);
|
||||
} else {
|
||||
auto b = generateMulticolumn(env, boxarr[i][j], Hsep, colWidth, i, j);
|
||||
auto* matom = (MulticolumnAtom*) _matrix->_array[i][j].get();
|
||||
j += matom->skipped() - 1;
|
||||
wb = new WrapperBox(b, b->_width, lineHeight[i], lineDepth[i], Alignment::left);
|
||||
isLastVline = matom->hasRightVline();
|
||||
}
|
||||
float r = j == cols - 1 ? Hsep[j + 1] : Hsep[j + 1] / 2;
|
||||
wb->addInsets(l, Vspace, r, Vspace);
|
||||
applyCell(*wb, i, j);
|
||||
sptr<Box> swb(wb);
|
||||
boxarr[i][tj] = swb;
|
||||
hb->add(swb);
|
||||
|
||||
auto it = _vlines.find(j + 1);
|
||||
if (isLastVline && it != _vlines.end()) {
|
||||
auto vat = it->second;
|
||||
vat->_height = lineHeight[i] + lineDepth[i] + Vsep->_height;
|
||||
vat->_shift = lineDepth[i] + Vspace;
|
||||
auto vatBox = vat->createBox(env);
|
||||
hb->add(vatBox);
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
case AtomType::interText: {
|
||||
float f = env.getTextWidth();
|
||||
f = f == POS_INF ? colWidth[j] : f;
|
||||
hb = sptrOf<HBox>(boxarr[i][j], f, Alignment::left);
|
||||
j = cols;
|
||||
}
|
||||
break;
|
||||
|
||||
case AtomType::hline: {
|
||||
auto* at = (HlineAtom*) _matrix->_array[i][j].get();
|
||||
at->setColor(LINE_COLOR);
|
||||
at->setWidth(matW);
|
||||
if (i >= 1 && dynamic_cast<HlineAtom*>(_matrix->_array[i - 1][j].get()) != nullptr) {
|
||||
hb->add(sptrOf<StrutBox>(0.f, 2 * drt, 0.f, 0.f));
|
||||
}
|
||||
|
||||
hb->add(at->createBox(env));
|
||||
j = cols;
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (boxarr[i][0]->_type != AtomType::hline) {
|
||||
hb->_height = lineHeight[i] + Vspace;
|
||||
hb->_depth = lineDepth[i] + Vspace;
|
||||
}
|
||||
vb->add(hb);
|
||||
}
|
||||
|
||||
totalHeight = vb->_height + vb->_depth;
|
||||
|
||||
const float axis = env.getTeXFont()->getAxisHeight(env.getStyle());
|
||||
vb->_height = totalHeight / 2 + axis;
|
||||
vb->_depth = totalHeight / 2 - axis;
|
||||
|
||||
delete[] Hsep;
|
||||
delete[] lineDepth;
|
||||
delete[] lineHeight;
|
||||
delete[] colWidth;
|
||||
for (int i = 0; i < rows; i++) delete[] boxarr[i];
|
||||
delete[] boxarr;
|
||||
|
||||
return sptr<Box>(vb);
|
||||
}
|
||||
|
||||
/*************************************** multicolumn atoms ****************************************/
|
||||
|
||||
Alignment MulticolumnAtom::parseAlign(const string& str) {
|
||||
int pos = 0;
|
||||
int len = str.length();
|
||||
Alignment align = Alignment::center;
|
||||
bool first = true;
|
||||
while (pos < len) {
|
||||
char c = str[pos];
|
||||
switch (c) {
|
||||
case 'l': {
|
||||
align = Alignment::left;
|
||||
first = false;
|
||||
}
|
||||
break;
|
||||
case 'r': {
|
||||
align = Alignment::right;
|
||||
first = false;
|
||||
}
|
||||
break;
|
||||
case 'c': {
|
||||
align = Alignment::center;
|
||||
first = false;
|
||||
}
|
||||
break;
|
||||
case '|': {
|
||||
if (first) {
|
||||
_beforeVlines = 1;
|
||||
} else {
|
||||
_afterVlines = 1;
|
||||
}
|
||||
while (++pos < len) {
|
||||
c = str[pos];
|
||||
if (c != '|') {
|
||||
pos--;
|
||||
break;
|
||||
} else {
|
||||
if (first)
|
||||
_beforeVlines++;
|
||||
else
|
||||
_afterVlines++;
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
pos++;
|
||||
}
|
||||
return align;
|
||||
}
|
||||
|
||||
sptr<Box> MulticolumnAtom::createBox(Environment& env) {
|
||||
sptr<Box> b = (
|
||||
_width == 0
|
||||
? _cols->createBox(env)
|
||||
: sptrOf<HBox>(_cols->createBox(env), _width, _align)
|
||||
);
|
||||
b->_type = AtomType::multiColumn;
|
||||
return b;
|
||||
}
|
||||
|
||||
sptr<Box> HdotsforAtom::createBox(float space, const sptr<Box>& b, Environment& env) {
|
||||
auto sb = sptrOf<StrutBox>(0.f, space, 0.f, 0.f);
|
||||
auto vb = sptrOf<VBox>();
|
||||
vb->add(sb);
|
||||
vb->add(b);
|
||||
vb->add(sb);
|
||||
vb->_type = AtomType::multiColumn;
|
||||
return vb;
|
||||
}
|
||||
|
||||
sptr<Box> HdotsforAtom::createBox(Environment& env) {
|
||||
auto dot = _cols->createBox(env);
|
||||
float space = Glue::getSpace(SpaceType::thinMuSkip, env) * _coeff * 2;
|
||||
|
||||
// If no width specified, create a box with one dot
|
||||
if (_width == 0) return createBox(space, dot, env);
|
||||
|
||||
float x = (_width - dot->_width) / (space + dot->_width);
|
||||
int count = (int) floor(x);
|
||||
|
||||
// Only one dot can be placed in
|
||||
if (count == 0) {
|
||||
auto b = sptrOf<HBox>(dot, _width, Alignment::center);
|
||||
return createBox(space, b, env);
|
||||
}
|
||||
|
||||
// Adjust the space between
|
||||
space += (x - count) * space / count;
|
||||
auto sb = sptrOf<StrutBox>(space, 0.f, 0.f, 0.f);
|
||||
auto b = sptrOf<HBox>();
|
||||
for (int i = 0; i < count; i++) {
|
||||
b->add(dot);
|
||||
b->add(sb);
|
||||
}
|
||||
b->add(dot);
|
||||
|
||||
auto hb = sptrOf<HBox>(b, _width, Alignment::center);
|
||||
return createBox(space, hb, env);
|
||||
}
|
||||
|
||||
SpaceAtom MultlineAtom::_vsep_in(UnitType::ex, 0.f, 1.f, 0.f);
|
||||
|
||||
sptr<Box> MultlineAtom::createBox(Environment& env) {
|
||||
float tw = env.getTextWidth();
|
||||
if (tw == POS_INF || _lineType == MultiLineType::gathered)
|
||||
return MatrixAtom(_isPartial, _column, L"").createBox(env);
|
||||
|
||||
auto* vb = new VBox();
|
||||
auto atom = _column->_array[0][0];
|
||||
Alignment alignment = _lineType == MultiLineType::gather ? Alignment::center : Alignment::left;
|
||||
if (atom->_alignment != Alignment::none) alignment = atom->_alignment;
|
||||
|
||||
vb->add(sptrOf<HBox>(atom->createBox(env), tw, alignment));
|
||||
auto Vsep = _vsep_in.createBox(env);
|
||||
for (size_t i = 1; i < _column->rows() - 1; i++) {
|
||||
atom = _column->_array[i][0];
|
||||
alignment = Alignment::center;
|
||||
if (atom->_alignment != Alignment::none) alignment = atom->_alignment;
|
||||
vb->add(Vsep);
|
||||
vb->add(sptrOf<HBox>(atom->createBox(env), tw, alignment));
|
||||
}
|
||||
|
||||
if (_column->rows() > 1) {
|
||||
atom = _column->_array[_column->rows() - 1][0];
|
||||
alignment = _lineType == MultiLineType::gather ? Alignment::center : Alignment::right;
|
||||
if (atom->_alignment != Alignment::none) alignment = atom->_alignment;
|
||||
vb->add(Vsep);
|
||||
vb->add(sptrOf<HBox>(atom->createBox(env), tw, alignment));
|
||||
}
|
||||
|
||||
float h = vb->_height + vb->_depth;
|
||||
vb->_height = h / 2;
|
||||
vb->_depth = h / 2;
|
||||
|
||||
return sptr<Box>(vb);
|
||||
}
|
||||
324
3rdparty/MicroTeX/src/atom/atom_matrix.h
vendored
Normal file
324
3rdparty/MicroTeX/src/atom/atom_matrix.h
vendored
Normal file
@ -0,0 +1,324 @@
|
||||
#ifndef LATEX_ATOM_MATRIX_H
|
||||
#define LATEX_ATOM_MATRIX_H
|
||||
|
||||
#include "atom/atom.h"
|
||||
#include "box/box_group.h"
|
||||
#include "core/core.h"
|
||||
#include "graphic/graphic.h"
|
||||
|
||||
namespace tex {
|
||||
|
||||
/** Atom to justify cells in array */
|
||||
class CellSpecifier : public Atom {
|
||||
public:
|
||||
virtual void apply(WrapperBox& box) = 0;
|
||||
|
||||
sptr<Box> createBox(Environment& env) override {
|
||||
return sptrOf<StrutBox>(0.f, 0.f, 0.f, 0.f);
|
||||
}
|
||||
};
|
||||
|
||||
/** Atom representing column color in array */
|
||||
class CellColorAtom : public CellSpecifier {
|
||||
private:
|
||||
color _color;
|
||||
|
||||
public:
|
||||
CellColorAtom() = delete;
|
||||
|
||||
explicit CellColorAtom(color c) : _color(c) {}
|
||||
|
||||
void apply(WrapperBox& box) override {
|
||||
box.setBackground(_color);
|
||||
}
|
||||
|
||||
__decl_clone(CellColorAtom)
|
||||
};
|
||||
|
||||
/** Atom representing column foreground in array */
|
||||
class CellForegroundAtom : public CellSpecifier {
|
||||
private:
|
||||
color _color;
|
||||
|
||||
public:
|
||||
CellForegroundAtom() = delete;
|
||||
|
||||
explicit CellForegroundAtom(color c) : _color(c) {}
|
||||
|
||||
void apply(WrapperBox& box) override {
|
||||
box.setForeground(_color);
|
||||
}
|
||||
|
||||
__decl_clone(CellForegroundAtom)
|
||||
};
|
||||
|
||||
class VlineAtom;
|
||||
|
||||
enum class MatrixType : i8 {
|
||||
array,
|
||||
matrix,
|
||||
align,
|
||||
alignAt,
|
||||
flAlign,
|
||||
smallMatrix,
|
||||
aligned,
|
||||
alignedAt
|
||||
};
|
||||
|
||||
/** Atom represents matrix */
|
||||
class MatrixAtom : public Atom {
|
||||
private:
|
||||
static std::map<std::wstring, std::wstring> _colspeReplacement;
|
||||
|
||||
static SpaceAtom _align;
|
||||
|
||||
sptr<ArrayFormula> _matrix;
|
||||
std::vector<Alignment> _position;
|
||||
std::map<int, sptr<VlineAtom>> _vlines;
|
||||
std::map<int, sptr<Atom>> _columnSpecifiers;
|
||||
|
||||
MatrixType _matType;
|
||||
bool _isPartial;
|
||||
bool _spaceAround;
|
||||
|
||||
void parsePositions(std::wstring opt, std::vector<Alignment>& lpos);
|
||||
|
||||
sptr<Box> generateMulticolumn(
|
||||
Environment& env,
|
||||
const sptr<Box>& b,
|
||||
const float* hsep,
|
||||
const float* colWidth,
|
||||
int i,
|
||||
int j
|
||||
);
|
||||
|
||||
static void recalculateLine(
|
||||
int rows,
|
||||
sptr<Box>** boxarr,
|
||||
std::vector<sptr<Atom>>& multiRows,
|
||||
float* height,
|
||||
float* depth,
|
||||
float drt,
|
||||
float vspace
|
||||
);
|
||||
|
||||
float* getColumnSep(Environment& env, float width);
|
||||
|
||||
void applyCell(WrapperBox& box, int i, int j);
|
||||
|
||||
public:
|
||||
// The color to draw the rule of the matrix
|
||||
static color LINE_COLOR;
|
||||
|
||||
static SpaceAtom _hsep, _semihsep, _vsep_in, _vsep_ext_top, _vsep_ext_bot;
|
||||
|
||||
static sptr<Box> _nullbox;
|
||||
|
||||
MatrixAtom() = delete;
|
||||
|
||||
MatrixAtom(
|
||||
bool isPartial,
|
||||
const sptr<ArrayFormula>& arr,
|
||||
const std::wstring& options,
|
||||
bool spaceAround
|
||||
);
|
||||
|
||||
MatrixAtom(
|
||||
bool isPartial,
|
||||
const sptr<ArrayFormula>& arr,
|
||||
const std::wstring& options
|
||||
);
|
||||
|
||||
MatrixAtom(
|
||||
bool isPartial,
|
||||
const sptr<ArrayFormula>& arr,
|
||||
MatrixType type
|
||||
);
|
||||
|
||||
sptr<Box> createBox(Environment& env) override;
|
||||
|
||||
static void defineColumnSpecifier(const std::wstring& rep, const std::wstring& spe);
|
||||
|
||||
__decl_clone(MatrixAtom)
|
||||
};
|
||||
|
||||
/** An atom representing vertical-line in matrix environment */
|
||||
class VlineAtom : public Atom {
|
||||
private:
|
||||
// Number of lines to draw
|
||||
int _n;
|
||||
|
||||
public:
|
||||
float _height, _shift;
|
||||
|
||||
VlineAtom() = delete;
|
||||
|
||||
explicit VlineAtom(int n) : _n(n), _height(0), _shift(0) {}
|
||||
|
||||
inline float getWidth(Environment& env) const {
|
||||
if (_n != 0) {
|
||||
float drt = env.getTeXFont()->getDefaultRuleThickness(env.getStyle());
|
||||
return drt * (3 * _n - 2);
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
sptr<Box> createBox(Environment& env) override {
|
||||
if (_n == 0) return sptrOf<StrutBox>(0.f, 0.f, 0.f, 0.f);
|
||||
|
||||
float drt = env.getTeXFont()->getDefaultRuleThickness(env.getStyle());
|
||||
auto b = sptrOf<RuleBox>(_height, drt, _shift, MatrixAtom::LINE_COLOR, true);
|
||||
auto sep = sptrOf<StrutBox>(2 * drt, 0.f, 0.f, 0.f);
|
||||
auto* hb = new HBox();
|
||||
for (int i = 0; i < _n - 1; i++) {
|
||||
hb->add(b);
|
||||
hb->add(sep);
|
||||
}
|
||||
|
||||
if (_n > 0) hb->add(b);
|
||||
|
||||
return sptr<Box>(hb);
|
||||
}
|
||||
|
||||
__decl_clone(VlineAtom)
|
||||
};
|
||||
|
||||
/** An atom used in array mode that across several columns */
|
||||
class MulticolumnAtom : public Atom {
|
||||
protected:
|
||||
// Number of columns across
|
||||
int _n;
|
||||
Alignment _align;
|
||||
float _width;
|
||||
int _beforeVlines, _afterVlines;
|
||||
int _row, _col;
|
||||
sptr<Atom> _cols;
|
||||
|
||||
Alignment parseAlign(const std::string& str);
|
||||
|
||||
public:
|
||||
MulticolumnAtom() = delete;
|
||||
|
||||
MulticolumnAtom(int n, const std::string& align, const sptr<Atom>& cols)
|
||||
: _width(0), _beforeVlines(0), _afterVlines(0), _row(0), _col(0) {
|
||||
_n = n >= 1 ? n : 1;
|
||||
_cols = cols;
|
||||
_align = parseAlign(align);
|
||||
}
|
||||
|
||||
virtual bool isNeedWidth() const { return false; }
|
||||
|
||||
inline void setColWidth(float w) { _width = w; }
|
||||
|
||||
inline float colWidth() const { return _width; }
|
||||
|
||||
inline int skipped() const { return _n; }
|
||||
|
||||
inline bool hasRightVline() const { return _afterVlines != 0; }
|
||||
|
||||
inline void setRowColumn(int i, int j) {
|
||||
_row = i;
|
||||
_col = j;
|
||||
}
|
||||
|
||||
inline Alignment align() { return _align; }
|
||||
|
||||
inline int row() const { return _row; }
|
||||
|
||||
inline int col() const { return _col; }
|
||||
|
||||
sptr<Box> createBox(Environment& env) override;
|
||||
|
||||
__decl_clone(MulticolumnAtom)
|
||||
};
|
||||
|
||||
/** An atom used in array mode representing "dots" */
|
||||
class HdotsforAtom : public MulticolumnAtom {
|
||||
private:
|
||||
float _coeff;
|
||||
|
||||
static sptr<Box> createBox(
|
||||
float space,
|
||||
const sptr<Box>& b,
|
||||
Environment& env
|
||||
);
|
||||
|
||||
public:
|
||||
HdotsforAtom() = delete;
|
||||
|
||||
HdotsforAtom(int n, float coeff)
|
||||
: MulticolumnAtom(n, "c", SymbolAtom::get("ldotp")), _coeff(coeff) {}
|
||||
|
||||
bool isNeedWidth() const override {
|
||||
return true;
|
||||
}
|
||||
|
||||
sptr<Box> createBox(Environment& env) override;
|
||||
|
||||
__decl_clone(HdotsforAtom)
|
||||
};
|
||||
|
||||
/** Atom representing multi-row */
|
||||
class MultiRowAtom : public Atom {
|
||||
private:
|
||||
sptr<Atom> _rows;
|
||||
|
||||
public:
|
||||
int _i, _j, _n;
|
||||
|
||||
MultiRowAtom() = delete;
|
||||
|
||||
MultiRowAtom(int n, const std::wstring& option, const sptr<Atom>& rows)
|
||||
: _i(0), _j(0), _rows(rows), _n(n == 0 ? 1 : n) {}
|
||||
|
||||
inline void setRowColumn(int r, int c) {
|
||||
_i = r;
|
||||
_j = c;
|
||||
}
|
||||
|
||||
sptr<Box> createBox(Environment& env) override {
|
||||
auto b = _rows->createBox(env);
|
||||
b->_type = AtomType::multiRow;
|
||||
return b;
|
||||
}
|
||||
|
||||
__decl_clone(MultiRowAtom)
|
||||
};
|
||||
|
||||
enum class MultiLineType {
|
||||
multiline,
|
||||
gather,
|
||||
gathered
|
||||
};
|
||||
|
||||
/** An atom representing a vertical row of other atoms */
|
||||
class MultlineAtom : public Atom {
|
||||
private:
|
||||
static SpaceAtom _vsep_in;
|
||||
sptr<ArrayFormula> _column;
|
||||
MultiLineType _lineType;
|
||||
bool _isPartial;
|
||||
|
||||
public:
|
||||
MultlineAtom() = delete;
|
||||
|
||||
MultlineAtom(bool isPartial, const sptr<ArrayFormula>& col, MultiLineType type) {
|
||||
_isPartial = isPartial;
|
||||
_lineType = type;
|
||||
_column = col;
|
||||
}
|
||||
|
||||
MultlineAtom(const sptr<ArrayFormula>& col, MultiLineType type) {
|
||||
_isPartial = false;
|
||||
_lineType = type;
|
||||
_column = col;
|
||||
}
|
||||
|
||||
sptr<Box> createBox(Environment& env) override;
|
||||
|
||||
__decl_clone(MultlineAtom)
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
#endif //LATEX_ATOM_MATRIX_H
|
||||
230
3rdparty/MicroTeX/src/atom/atom_row.cpp
vendored
Normal file
230
3rdparty/MicroTeX/src/atom/atom_row.cpp
vendored
Normal file
@ -0,0 +1,230 @@
|
||||
#include "atom/atom_row.h"
|
||||
|
||||
#include <memory>
|
||||
#include "atom/atom_basic.h"
|
||||
#include "core/core.h"
|
||||
|
||||
using namespace std;
|
||||
using namespace tex;
|
||||
|
||||
inline bool Dummy::isCharSymbol() const {
|
||||
auto* x = dynamic_cast<CharSymbol*>(_atom.get());
|
||||
return (x != nullptr);
|
||||
}
|
||||
|
||||
inline bool Dummy::isCharInMathMode() const {
|
||||
auto* at = dynamic_cast<CharAtom*>(_atom.get());
|
||||
return at != nullptr && at->isMathMode();
|
||||
}
|
||||
|
||||
inline sptr<CharFont> Dummy::getCharFont(TeXFont& tf) const {
|
||||
return ((CharSymbol*) _atom.get())->getCharFont(tf);
|
||||
}
|
||||
|
||||
void Dummy::changeAtom(const sptr<FixedCharAtom>& atom) {
|
||||
_textSymbol = false;
|
||||
_atom = atom;
|
||||
_type = AtomType::none;
|
||||
}
|
||||
|
||||
sptr<Box> Dummy::createBox(Environment& env) {
|
||||
if (_textSymbol) ((CharSymbol*) _atom.get())->markAsTextSymbol();
|
||||
auto box = _atom->createBox(env);
|
||||
if (_textSymbol) ((CharSymbol*) _atom.get())->removeMark();
|
||||
return box;
|
||||
}
|
||||
|
||||
inline bool Dummy::isKern() const {
|
||||
auto* x = dynamic_cast<SpaceAtom*>(_atom.get());
|
||||
return (x != nullptr);
|
||||
}
|
||||
|
||||
void Dummy::setPreviousAtom(const sptr<Dummy>& prev) {
|
||||
auto* row = dynamic_cast<Row*>(_atom.get());
|
||||
if (row != nullptr) row->setPreviousAtom(prev);
|
||||
}
|
||||
|
||||
bool RowAtom::_breakEveywhere = false;
|
||||
|
||||
bitset<16> RowAtom::_binSet = bitset<16>()
|
||||
.set(static_cast<i8>(AtomType::binaryOperator))
|
||||
.set(static_cast<i8>(AtomType::bigOperator))
|
||||
.set(static_cast<i8>(AtomType::relation))
|
||||
.set(static_cast<i8>(AtomType::opening))
|
||||
.set(static_cast<i8>(AtomType::punctuation));
|
||||
|
||||
bitset<16> RowAtom::_ligKernSet = bitset<16>()
|
||||
.set(static_cast<i8>(AtomType::ordinary))
|
||||
.set(static_cast<i8>(AtomType::bigOperator))
|
||||
.set(static_cast<i8>(AtomType::binaryOperator))
|
||||
.set(static_cast<i8>(AtomType::relation))
|
||||
.set(static_cast<i8>(AtomType::opening))
|
||||
.set(static_cast<i8>(AtomType::closing))
|
||||
.set(static_cast<i8>(AtomType::punctuation));
|
||||
|
||||
RowAtom::RowAtom(const sptr<Atom>& atom)
|
||||
: _lookAtLastAtom(false), _previousAtom(nullptr), _breakable(true) {
|
||||
if (atom != nullptr) {
|
||||
auto* x = dynamic_cast<RowAtom*>(atom.get());
|
||||
if (x != nullptr) {
|
||||
// no need to make an row, the only element of a row
|
||||
_elements.insert(_elements.end(), x->_elements.begin(), x->_elements.end());
|
||||
} else {
|
||||
_elements.push_back(atom);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
sptr<Atom> RowAtom::getFirstAtom() {
|
||||
if (!_elements.empty()) return _elements.front();
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
sptr<Atom> RowAtom::popLastAtom() {
|
||||
if (!_elements.empty()) {
|
||||
sptr<Atom> x = _elements.back();
|
||||
_elements.pop_back();
|
||||
return x;
|
||||
}
|
||||
return sptrOf<SpaceAtom>(UnitType::point, 0.f, 0.f, 0.f);
|
||||
}
|
||||
|
||||
sptr<Atom> RowAtom::get(size_t pos) {
|
||||
if (pos >= _elements.size()) return sptrOf<SpaceAtom>(UnitType::point, 0.f, 0.f, 0.f);
|
||||
return _elements[pos];
|
||||
}
|
||||
|
||||
void RowAtom::add(const sptr<Atom>& atom) {
|
||||
if (atom != nullptr) _elements.push_back(atom);
|
||||
}
|
||||
|
||||
void RowAtom::changeToOrd(Dummy* cur, Dummy* prev, Atom* next) {
|
||||
AtomType type = cur->leftType();
|
||||
if ((type == AtomType::binaryOperator)
|
||||
&& ((prev == nullptr || _binSet[static_cast<i8>(prev->rightType())]) || next == nullptr)) {
|
||||
cur->_type = AtomType::ordinary;
|
||||
} else if (next != nullptr && cur->rightType() == AtomType::binaryOperator) {
|
||||
AtomType nextType = next->leftType();
|
||||
if (nextType == AtomType::relation
|
||||
|| nextType == AtomType::closing
|
||||
|| nextType == AtomType::punctuation) {
|
||||
cur->_type = AtomType::ordinary;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
AtomType RowAtom::leftType() const {
|
||||
if (_elements.empty()) return AtomType::ordinary;
|
||||
return _elements.front()->leftType();
|
||||
}
|
||||
|
||||
AtomType RowAtom::rightType() const {
|
||||
if (_elements.empty()) return AtomType::ordinary;
|
||||
return _elements.back()->rightType();
|
||||
}
|
||||
|
||||
sptr<Box> RowAtom::createBox(Environment& env) {
|
||||
auto x = env.getTeXFont();
|
||||
TeXFont& tf = *x;
|
||||
auto* hbox = new HBox();
|
||||
|
||||
// convert atoms to boxes and add to the horizontal box
|
||||
const int end = _elements.size() - 1;
|
||||
for (int i = -1; i < end;) {
|
||||
auto at = _elements[++i];
|
||||
bool markAdded = false;
|
||||
auto* ba = dynamic_cast<BreakMarkAtom*>(at.get());
|
||||
while (ba != nullptr) {
|
||||
if (!markAdded) markAdded = true;
|
||||
if (i < end) {
|
||||
at = _elements[++i];
|
||||
ba = dynamic_cast<BreakMarkAtom*>(at.get());
|
||||
} else {
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
auto atom = sptrOf<Dummy>(at);
|
||||
// if necessary, change BIN type to ORD
|
||||
// i.e. for formula: $+ e - f$, the plus sign should be treat as an ordinary type
|
||||
sptr<Atom> nextAtom(nullptr);
|
||||
if (i < end) nextAtom = _elements[i + 1];
|
||||
changeToOrd(atom.get(), _previousAtom.get(), nextAtom.get());
|
||||
|
||||
// check for ligature or kerning
|
||||
float kern = 0;
|
||||
while (i < end && atom->rightType() == AtomType::ordinary && atom->isCharSymbol()) {
|
||||
auto next = _elements[++i];
|
||||
auto* c = dynamic_cast<CharSymbol*>(next.get());
|
||||
if (c != nullptr && _ligKernSet[static_cast<i8>(next->leftType())]) {
|
||||
atom->markAsTextSymbol();
|
||||
auto l = atom->getCharFont(tf);
|
||||
auto r = c->getCharFont(tf);
|
||||
auto lig = tf.getLigature(*l, *r);
|
||||
if (lig == nullptr) {
|
||||
kern = tf.getKern(*l, *r, env.getStyle());
|
||||
i--;
|
||||
break; // iterator remains unchanged (no ligature!)
|
||||
} else {
|
||||
// fixed with ligature
|
||||
atom->changeAtom(std::make_shared<FixedCharAtom>(lig));
|
||||
}
|
||||
} else {
|
||||
i--;
|
||||
break;
|
||||
} // iterator remains unchanged
|
||||
}
|
||||
|
||||
// insert glue, unless it's the first element of the row
|
||||
// or this element or the next is a kerning
|
||||
if (i != 0
|
||||
&& _previousAtom != nullptr
|
||||
&& !_previousAtom->isKern()
|
||||
&& !atom->isKern()
|
||||
) {
|
||||
hbox->add(Glue::get(_previousAtom->rightType(), atom->leftType(), env));
|
||||
}
|
||||
|
||||
// insert atom's box
|
||||
atom->setPreviousAtom(_previousAtom);
|
||||
auto b = atom->createBox(env);
|
||||
auto* cb = dynamic_cast<CharBox*>(b.get());
|
||||
if (cb != nullptr
|
||||
&& !atom->isCharInMathMode()
|
||||
&& dynamic_cast<CharSymbol*>(nextAtom.get()) != nullptr
|
||||
) {
|
||||
// When we have a single char, we need to add italic correction
|
||||
// As an example: (TVY) looks crappy...
|
||||
cb->addItalicCorrectionToWidth();
|
||||
}
|
||||
|
||||
if (_breakable) {
|
||||
if (_breakEveywhere) {
|
||||
hbox->addBreakPosition(hbox->_children.size());
|
||||
} else {
|
||||
auto ca = dynamic_cast<CharAtom*>(at.get());
|
||||
if (markAdded || (ca != nullptr && isdigit(ca->getCharacter()))) {
|
||||
hbox->addBreakPosition(hbox->_children.size());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
hbox->add(b);
|
||||
|
||||
// set last used font id (for next atom)
|
||||
env.setLastFontId(b->lastFontId());
|
||||
|
||||
// insert kerning
|
||||
if (abs(kern) > PREC) hbox->add(sptrOf<StrutBox>(kern, 0.f, 0.f, 0.f));
|
||||
|
||||
// kerning do not interfere with the normal glue-rules without kerning
|
||||
if (!atom->isKern()) _previousAtom = atom;
|
||||
}
|
||||
// reset previous atom
|
||||
_previousAtom = nullptr;
|
||||
return sptr<Box>(hbox);
|
||||
}
|
||||
|
||||
void RowAtom::setPreviousAtom(const sptr<Dummy>& prev) {
|
||||
_previousAtom = prev;
|
||||
}
|
||||
190
3rdparty/MicroTeX/src/atom/atom_row.h
vendored
Normal file
190
3rdparty/MicroTeX/src/atom/atom_row.h
vendored
Normal file
@ -0,0 +1,190 @@
|
||||
#ifndef LATEX_ATOM_ROW_H
|
||||
#define LATEX_ATOM_ROW_H
|
||||
|
||||
#include <bitset>
|
||||
|
||||
#include "common.h"
|
||||
#include "utils/utils.h"
|
||||
#include "atom/atom.h"
|
||||
#include "box/box_group.h"
|
||||
#include "graphic/graphic.h"
|
||||
|
||||
namespace tex {
|
||||
|
||||
class Dummy;
|
||||
|
||||
class FixedCharAtom;
|
||||
|
||||
class Environment;
|
||||
|
||||
class CharFont;
|
||||
|
||||
class TeXFont;
|
||||
|
||||
/**
|
||||
* A "composed atom": An atom that consists of child atoms that will be
|
||||
* displayed next to each other horizontally with glue between them.
|
||||
*/
|
||||
class Row {
|
||||
public:
|
||||
/**
|
||||
* Sets the given dummy containing the atom that comes just before the first
|
||||
* child atom of this "composed atom". This method will always be called by
|
||||
* another composed atom, so this composed atom will be a child of it
|
||||
* (nested). This is necessary to determine the glue to insert between the
|
||||
* first child atom of this nested composed atom and the atom that the dummy
|
||||
* contains.
|
||||
*
|
||||
* @param dummy
|
||||
* the dummy that comes just before this "composed atom"
|
||||
*/
|
||||
virtual void setPreviousAtom(const sptr<Dummy>& dummy) = 0;
|
||||
};
|
||||
|
||||
/**
|
||||
* Used by RowAtom. The "textSymbol"-property and the type of An atom can change
|
||||
* (according to the TeX-algorithms used). Or this atom can be replaced by a
|
||||
* ligature, (if it was a CharAtom). But atoms cannot be changed, otherwise
|
||||
* different boxes could be made from the same Formula, and that is not
|
||||
* desired! This "dummy atom" makes sure that changes to an atom (during the
|
||||
* createBox-method of a RowAtom) will be reset.
|
||||
*/
|
||||
class Dummy {
|
||||
private:
|
||||
sptr<Atom> _atom;
|
||||
bool _textSymbol = false;
|
||||
|
||||
public:
|
||||
AtomType _type = AtomType::none;
|
||||
|
||||
Dummy() = delete;
|
||||
|
||||
/**
|
||||
* Create a new dummy for the given atom
|
||||
* @param atom an atom
|
||||
*/
|
||||
explicit Dummy(const sptr<Atom>& atom) {
|
||||
_textSymbol = false;
|
||||
_atom = atom;
|
||||
_type = AtomType::none;
|
||||
}
|
||||
|
||||
/** @return the changed type, or the old left type if it has not been changed */
|
||||
inline AtomType leftType() const {
|
||||
return (_type != AtomType::none ? _type : _atom->leftType());
|
||||
}
|
||||
|
||||
/** @return the changed type, or the old right type if it has not been changed */
|
||||
inline AtomType rightType() const {
|
||||
return (_type != AtomType::none ? _type : _atom->rightType());
|
||||
}
|
||||
|
||||
/** Test if this atom is a char-symbol. */
|
||||
bool isCharSymbol() const;
|
||||
|
||||
/** Test if this char is in math mode. */
|
||||
bool isCharInMathMode() const;
|
||||
|
||||
/** This method will only be called if isCharSymbol returns true. */
|
||||
sptr<CharFont> getCharFont(TeXFont& tf) const;
|
||||
|
||||
/**
|
||||
* Changes this atom into the given "ligature atom".
|
||||
*
|
||||
* @param atom the ligature atom
|
||||
*/
|
||||
void changeAtom(const sptr<FixedCharAtom>& atom);
|
||||
|
||||
sptr<Box> createBox(Environment& env);
|
||||
|
||||
inline void markAsTextSymbol() {
|
||||
_textSymbol = true;
|
||||
}
|
||||
|
||||
/** Test if this atom is a kern. */
|
||||
bool isKern() const;
|
||||
|
||||
/** Only for row-elements */
|
||||
void setPreviousAtom(const sptr<Dummy>& prev);
|
||||
};
|
||||
|
||||
/**
|
||||
* An atom representing a horizontal row of other atoms, to be separated by
|
||||
* glue. It's also responsible for inserting kerns and ligature.
|
||||
*/
|
||||
class RowAtom : public Atom, public Row {
|
||||
private:
|
||||
// set of atom types that make a previous bin atom change to ord
|
||||
static std::bitset<16> _binSet;
|
||||
// set of atom types that can possibly need a kern or, together
|
||||
// with the previous atom, be replaced by a ligature
|
||||
static std::bitset<16> _ligKernSet;
|
||||
|
||||
// whether the box generated can be broken
|
||||
bool _breakable;
|
||||
// atoms to be displayed horizontally next to each-other
|
||||
std::vector<sptr<Atom>> _elements;
|
||||
// previous atom (for nested Row atoms)
|
||||
sptr<Dummy> _previousAtom;
|
||||
|
||||
/**
|
||||
* Change the atom-type to ORD if necessary
|
||||
* <p>
|
||||
* i.e. for formula: `$+ e - f$`, the plus sign should be treat as
|
||||
* an ordinary type
|
||||
*/
|
||||
static void changeToOrd(Dummy* cur, Dummy* prev, Atom* next);
|
||||
|
||||
public:
|
||||
static bool _breakEveywhere;
|
||||
|
||||
bool _lookAtLastAtom;
|
||||
|
||||
RowAtom() : _lookAtLastAtom(false), _breakable(true) {}
|
||||
|
||||
explicit RowAtom(const sptr<Atom>& atom);
|
||||
|
||||
/** Get the atom at the front in the elements */
|
||||
sptr<Atom> getFirstAtom();
|
||||
|
||||
/** Get and remove the atom at the tail in the elements */
|
||||
sptr<Atom> popLastAtom();
|
||||
|
||||
/**
|
||||
* Get the atom at position
|
||||
*
|
||||
* @param pos the position of the atom to retrieve
|
||||
*/
|
||||
sptr<Atom> get(size_t pos);
|
||||
|
||||
/**
|
||||
* Indicate the box generated by this atom breakable be broken or not
|
||||
*
|
||||
* @param breakable indicate whether the box breakable be broken
|
||||
*/
|
||||
inline void setBreakable(bool breakable) {
|
||||
_breakable = breakable;
|
||||
}
|
||||
|
||||
/** Retrieve the size of the elements */
|
||||
inline size_t size() const {
|
||||
return _elements.size();
|
||||
}
|
||||
|
||||
/** Push an atom to back */
|
||||
void add(const sptr<Atom>& atom);
|
||||
|
||||
sptr<Box> createBox(Environment& env) override;
|
||||
|
||||
void setPreviousAtom(const sptr<Dummy>& prev) override;
|
||||
|
||||
AtomType leftType() const override;
|
||||
|
||||
AtomType rightType() const override;
|
||||
|
||||
__decl_clone(RowAtom)
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
#endif //LATEX_ATOM_ROW_H
|
||||
47
3rdparty/MicroTeX/src/atom/atom_space.cpp
vendored
Normal file
47
3rdparty/MicroTeX/src/atom/atom_space.cpp
vendored
Normal file
@ -0,0 +1,47 @@
|
||||
#include "atom/atom_space.h"
|
||||
#include "core/glue.h"
|
||||
#include "core/core.h"
|
||||
|
||||
using namespace std;
|
||||
using namespace tex;
|
||||
|
||||
inline UnitType SpaceAtom::getUnit(const std::string& unit) {
|
||||
auto i = binIndexOf(
|
||||
_unitsCount,
|
||||
[&](int i) { return strcmp(unit.c_str(), _units[i].first); }
|
||||
);
|
||||
if (i < 0) return UnitType::pixel;
|
||||
return _units[i].second;
|
||||
}
|
||||
|
||||
sptr<Box> SpaceAtom::createBox(Environment& env) {
|
||||
if (!_blankSpace) {
|
||||
float w = _width * getFactor(_wUnit, env);
|
||||
float h = _height * getFactor(_hUnit, env);
|
||||
float d = _depth * getFactor(_dUnit, env);
|
||||
return sptrOf<StrutBox>(w, h, d, 0.f);
|
||||
}
|
||||
if (_blankType == SpaceType::none) return sptrOf<StrutBox>(env.getSpace(), 0.f, 0.f, 0.f);
|
||||
return Glue::get(_blankType, env);
|
||||
}
|
||||
|
||||
pair<UnitType, float> SpaceAtom::getLength(const string& lgth) {
|
||||
if (lgth.empty()) return {UnitType::pixel, 0.f};
|
||||
|
||||
size_t i = 0;
|
||||
for (; i < lgth.size() && !isalpha(lgth[i]); i++);
|
||||
float f = 0;
|
||||
valueof(lgth.substr(0, i), f);
|
||||
|
||||
UnitType unit = UnitType::pixel;
|
||||
string x = lgth.substr(i);
|
||||
tolower(x);
|
||||
if (i != lgth.size()) unit = getUnit(x);
|
||||
|
||||
return {unit, f};
|
||||
}
|
||||
|
||||
pair<UnitType, float> SpaceAtom::getLength(const wstring& lgth) {
|
||||
const string s = wide2utf8(lgth);
|
||||
return getLength(s);
|
||||
}
|
||||
71
3rdparty/MicroTeX/src/atom/atom_space.h
vendored
Normal file
71
3rdparty/MicroTeX/src/atom/atom_space.h
vendored
Normal file
@ -0,0 +1,71 @@
|
||||
#ifndef LATEX_ATOM_SPACE_H
|
||||
#define LATEX_ATOM_SPACE_H
|
||||
|
||||
#include "atom/atom.h"
|
||||
#include "box/box_group.h"
|
||||
#include "utils/utils.h"
|
||||
|
||||
namespace tex {
|
||||
|
||||
/**
|
||||
* An atom representing whitespace. The dimension values can be set using different
|
||||
* unit types.
|
||||
*/
|
||||
class SpaceAtom : public Atom {
|
||||
private:
|
||||
static const std::pair<const char*, UnitType> _units[];
|
||||
static const i32 _unitsCount;
|
||||
static const std::function<float(const Environment&)> _unitConversions[];
|
||||
|
||||
// whether a hard space should be represented
|
||||
bool _blankSpace = false;
|
||||
// thin-mu-skip, med-mu-skip, thick-mu-skip
|
||||
SpaceType _blankType{};
|
||||
// dimensions
|
||||
float _width = 0, _height = 0, _depth = 0;
|
||||
// units of the dimensions
|
||||
UnitType _wUnit{}, _hUnit{}, _dUnit{};
|
||||
|
||||
public:
|
||||
SpaceAtom() noexcept: _blankSpace(true) {}
|
||||
|
||||
explicit SpaceAtom(SpaceType type) noexcept
|
||||
: _blankSpace(true), _blankType(type) {}
|
||||
|
||||
SpaceAtom(UnitType unit, float width, float height, float depth) noexcept
|
||||
: _wUnit(unit), _hUnit(unit), _dUnit(unit), _width(width), _height(height), _depth(depth) {}
|
||||
|
||||
SpaceAtom(UnitType wu, float w, UnitType hu, float h, UnitType du, float d) noexcept
|
||||
: _wUnit(wu), _hUnit(hu), _dUnit(du), _width(w), _height(h), _depth(d) {}
|
||||
|
||||
static UnitType getUnit(const std::string& unit);
|
||||
|
||||
/** Get the scale factor from the given unit and environment */
|
||||
inline static float getFactor(UnitType unit, const Environment& env) {
|
||||
return _unitConversions[static_cast<i8>(unit)](env);
|
||||
}
|
||||
|
||||
inline static float getSize(UnitType unit, float size, const Environment& env) {
|
||||
return _unitConversions[static_cast<i8>(unit)](env) * size;
|
||||
}
|
||||
|
||||
sptr<Box> createBox(Environment& env) override;
|
||||
|
||||
/**
|
||||
* Get the unit and length from given string. The string must be in the format: a number
|
||||
* following with the unit (e.g. 10px, 1cm, 8.2em, ...) or (UnitType::pixel, 0) will be returned.
|
||||
*/
|
||||
static std::pair<UnitType, float> getLength(const std::string& lgth);
|
||||
|
||||
/**
|
||||
* Get the unit and length from given string. The string must be in the format: a number
|
||||
* following with the unit (e.g. 10px, 1cm, 8.2em, ...) or (UnitType::pixel, 0) will be returned.
|
||||
*/
|
||||
static std::pair<UnitType, float> getLength(const std::wstring& lgth);
|
||||
|
||||
__decl_clone(SpaceAtom)
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
#endif //LATEX_ATOM_SPACE_H
|
||||
153
3rdparty/MicroTeX/src/atom/colors_def.cpp
vendored
Normal file
153
3rdparty/MicroTeX/src/atom/colors_def.cpp
vendored
Normal file
@ -0,0 +1,153 @@
|
||||
#include "atom_basic.h"
|
||||
|
||||
#define c(name, c, m, y, k) \
|
||||
{ name, cmyk(c, m, y, k) }
|
||||
|
||||
using namespace std;
|
||||
using namespace tex;
|
||||
|
||||
map<string, tex::color> tex::ColorAtom::_colors{
|
||||
{"black", black},
|
||||
{"white", white},
|
||||
{"red", red},
|
||||
{"green", green},
|
||||
{"blue", blue},
|
||||
{"cyan", cyan},
|
||||
{"magenta", magenta},
|
||||
{"yellow", yellow},
|
||||
c("greenyellow", 0.15f, 0.f, 0.69f, 0.f),
|
||||
c("goldenrod", 0.f, 0.10f, 0.84f, 0.f),
|
||||
c("dandelion", 0.f, 0.29f, 0.84f, 0.f),
|
||||
c("apricot", 0.f, 0.32f, 0.52f, 0.f),
|
||||
c("peach", 0.f, 0.50f, 0.70f, 0.f),
|
||||
c("melon", 0.f, 0.46f, 0.50f, 0.f),
|
||||
c("yelloworange", 0.f, 0.42f, 1.f, 0.f),
|
||||
c("orange", 0.f, 0.61f, 0.87f, 0.f),
|
||||
c("burntorange", 0.f, 0.51f, 1.f, 0.f),
|
||||
c("bittersweet", 0.f, 0.75f, 1.f, 0.24f),
|
||||
c("redorange", 0.f, 0.77f, 0.87f, 0.f),
|
||||
c("mahogany", 0.f, 0.85f, 0.87f, 0.35f),
|
||||
c("maroon", 0.f, 0.87f, 0.68f, 0.32f),
|
||||
c("brickred", 0.f, 0.89f, 0.94f, 0.28f),
|
||||
c("orangered", 0.f, 1.f, 0.50f, 0.f),
|
||||
c("rubinered", 0.f, 1.f, 0.13f, 0.f),
|
||||
c("wildstrawberry", 0.f, 0.96f, 0.39f, 0.f),
|
||||
c("salmon", 0.f, 0.53f, 0.38f, 0.f),
|
||||
c("carnationpink", 0.f, 0.63f, 0.f, 0.f),
|
||||
c("magenta", 0.f, 1.f, 0.f, 0.f),
|
||||
c("violetred", 0.f, 0.81f, 0.f, 0.f),
|
||||
c("rhodamine", 0.f, 0.82f, 0.f, 0.f),
|
||||
c("mulberry", 0.34f, 0.90f, 0.f, 0.02f),
|
||||
c("redviolet", 0.07f, 0.90f, 0.f, 0.34f),
|
||||
c("fuchsia", 0.47f, 0.91f, 0.f, 0.08f),
|
||||
c("lavender", 0.f, 0.48f, 0.f, 0.f),
|
||||
c("thistle", 0.12f, 0.59f, 0.f, 0.f),
|
||||
c("orchid", 0.32f, 0.64f, 0.f, 0.f),
|
||||
c("darkorchid", 0.40f, 0.80f, 0.20f, 0.f),
|
||||
c("purple", 0.45f, 0.86f, 0.f, 0.f),
|
||||
c("plum", 0.50f, 1.f, 0.f, 0.f),
|
||||
c("violet", 0.79f, 0.88f, 0.f, 0.f),
|
||||
c("royalpurple", 0.75f, 0.90f, 0.f, 0.f),
|
||||
c("blueviolet", 0.86f, 0.91f, 0.f, 0.04f),
|
||||
c("periwinkle", 0.57f, 0.55f, 0.f, 0.f),
|
||||
c("cadetblue", 0.62f, 0.57f, 0.23f, 0.f),
|
||||
c("cornflowerblue", 0.65f, 0.13f, 0.f, 0.f),
|
||||
c("midnightblue", 0.98f, 0.13f, 0.f, 0.43f),
|
||||
c("navyblue", 0.94f, 0.54f, 0.f, 0.f),
|
||||
c("royalblue", 1.f, 0.50f, 0.f, 0.f),
|
||||
c("cerulean", 0.94f, 0.11f, 0.f, 0.f),
|
||||
c("processblue", 0.96f, 0.f, 0.f, 0.f),
|
||||
c("skyblue", 0.62f, 0.f, 0.12f, 0.f),
|
||||
c("turquoise", 0.85f, 0.f, 0.20f, 0.f),
|
||||
c("tealblue", 0.86f, 0.f, 0.34f, 0.02f),
|
||||
c("aquamarine", 0.82f, 0.f, 0.30f, 0.f),
|
||||
c("bluegreen", 0.85f, 0.f, 0.33f, 0.f),
|
||||
c("emerald", 1.f, 0.f, 0.50f, 0.f),
|
||||
c("junglegreen", 0.99f, 0.f, 0.52f, 0.f),
|
||||
c("seagreen", 0.69f, 0.f, 0.50f, 0.f),
|
||||
c("forestgreen", 0.91f, 0.f, 0.88f, 0.12f),
|
||||
c("pinegreen", 0.92f, 0.f, 0.59f, 0.25f),
|
||||
c("limegreen", 0.50f, 0.f, 1.f, 0.f),
|
||||
c("yellowgreen", 0.44f, 0.f, 0.74f, 0.f),
|
||||
c("springgreen", 0.26f, 0.f, 0.76f, 0.f),
|
||||
c("olivegreen", 0.64f, 0.f, 0.95f, 0.40f),
|
||||
c("rawsienna", 0.f, 0.72f, 1.f, 0.45f),
|
||||
c("sepia", 0.f, 0.83f, 1.f, 0.70f),
|
||||
c("brown", 0.f, 0.81f, 1.f, 0.60f),
|
||||
c("tan", 0.14f, 0.42f, 0.56f, 0.f),
|
||||
c("gray", 0.f, 0.f, 0.f, 0.50f),
|
||||
};
|
||||
|
||||
color ColorAtom::getColor(std::string name) {
|
||||
if (name.empty()) return _default;
|
||||
trim(name);
|
||||
|
||||
// #AARRGGBB formatted color
|
||||
if (name[0] == '#') return decode(name);
|
||||
if (name.find(',') == string::npos) {
|
||||
// find from predefined colors
|
||||
auto it = _colors.find(tolower(name));
|
||||
if (it != _colors.end()) return it->second;
|
||||
// AARRGGBB formatted color
|
||||
if (name.find('.') == string::npos) return decode("#" + name);
|
||||
// gray color
|
||||
float x = 0.f;
|
||||
valueof(name, x);
|
||||
if (x != 0.f) {
|
||||
float g = min(1.f, max(x, 0.f));
|
||||
return rgb(g, g, g);
|
||||
}
|
||||
return _default;
|
||||
}
|
||||
|
||||
auto en = string::npos;
|
||||
StrTokenizer toks(name, ";,");
|
||||
int n = toks.count();
|
||||
if (n == 3) {
|
||||
// RGB model
|
||||
string R = toks.next();
|
||||
string G = toks.next();
|
||||
string B = toks.next();
|
||||
|
||||
float r = 0.f, g = 0.f, b = 0.f;
|
||||
valueof(trim(R), r);
|
||||
valueof(trim(G), g);
|
||||
valueof(trim(B), b);
|
||||
|
||||
if (r == 0.f && g == 0.f && b == 0.f) return _default;
|
||||
|
||||
if (r == (int) r && g == (int) g && b == (int) b &&
|
||||
R.find('.') == en && G.find('.') == en && B.find('.') == en) {
|
||||
int ir = (int) min(255.f, max(0.f, r));
|
||||
int ig = (int) min(255.f, max(0.f, g));
|
||||
int ib = (int) min(255.f, max(0.f, b));
|
||||
return rgb(ir, ig, ib);
|
||||
}
|
||||
r = min(1.f, max(0.f, r));
|
||||
g = min(1.f, max(0.f, g));
|
||||
b = min(1.f, max(0.f, b));
|
||||
return rgb(r, g, b);
|
||||
} else if (n == 4) {
|
||||
// CMYK model
|
||||
float c = 0.f, m = 0.f, y = 0.f, k = 0.f;
|
||||
string C = toks.next();
|
||||
string M = toks.next();
|
||||
string Y = toks.next();
|
||||
string K = toks.next();
|
||||
valueof(trim(C), c);
|
||||
valueof(trim(M), m);
|
||||
valueof(trim(Y), y);
|
||||
valueof(trim(K), k);
|
||||
|
||||
if (c == 0.f && m == 0.f && y == 0.f && k == 0.f) return _default;
|
||||
|
||||
c = min(1.f, max(0.f, c));
|
||||
m = min(1.f, max(0.f, m));
|
||||
y = min(1.f, max(0.f, y));
|
||||
k = min(1.f, max(0.f, k));
|
||||
|
||||
return cmyk(c, m, y, k);
|
||||
}
|
||||
|
||||
return _default;
|
||||
}
|
||||
22
3rdparty/MicroTeX/src/atom/meson.build
vendored
Normal file
22
3rdparty/MicroTeX/src/atom/meson.build
vendored
Normal file
@ -0,0 +1,22 @@
|
||||
atom_src = [
|
||||
'atom/atom_basic.cpp',
|
||||
'atom/atom_char.cpp',
|
||||
'atom/atom_impl.cpp',
|
||||
'atom/atom_matrix.cpp',
|
||||
'atom/atom_row.cpp',
|
||||
'atom/atom_space.cpp',
|
||||
'atom/colors_def.cpp',
|
||||
'atom/unit_conversion.cpp'
|
||||
]
|
||||
|
||||
if install_headerfiles
|
||||
install_headers([
|
||||
'atom_basic.h',
|
||||
'atom_char.h',
|
||||
'atom.h',
|
||||
'atom_impl.h',
|
||||
'atom_matrix.h',
|
||||
'atom_row.h',
|
||||
'atom_space.h'
|
||||
], subdir: 'clatexmath/atom')
|
||||
endif
|
||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user