├── .github └── workflows │ ├── msbuild.yml │ └── py_ext_main.yml ├── .gitignore ├── CODE_OF_CONDUCT.md ├── LICENSE ├── NOTICE.txt ├── README.md ├── SECURITY.md ├── SUPPORT.md ├── doc ├── Extending_Typeman_Talk │ ├── Extending Typeman Talk.docx │ └── Extending_Typeman_Talk.md ├── Res_Hints_Implementation_Guide │ ├── Res hints implementation guide.docx │ └── ResHints_Implementation_Guide.md ├── VTT Language Reference │ ├── doc-print.css │ ├── doc.css │ ├── vttdoc-images │ │ ├── vttlang-1.png │ │ ├── vttlang-2.png │ │ ├── vttlang-3.png │ │ ├── vttlang-4.png │ │ ├── vttlang-5.png │ │ ├── vttlang-GRAB_HERE_IN_X.png │ │ ├── vttlang-ISTROKE-1.png │ │ ├── vttlang-ISTROKE-2.png │ │ ├── vttlang-SERIF.png │ │ ├── vttlang-STROKE.png │ │ ├── vttlang-VACUFORMLIMIT.png │ │ ├── vttlang-XROUND.png │ │ ├── vttlang-X_DOUBLE_GRID.png │ │ ├── vttlang-X_DOWN_TO_GRID.png │ │ ├── vttlang-X_HALF_GRID.png │ │ ├── vttlang-X_UP_TO_GRID.png │ │ ├── vttlang-YROUND.png │ │ └── vttlang-Y_HALF_GRID.png │ ├── vttlang.html │ └── vttlang.md ├── VTT_Control_Program │ ├── VTT Control Program.docx │ └── VTTControlProgram.md └── help │ ├── Index.hhk │ ├── README.md │ ├── css │ └── styles.css │ ├── html │ ├── 01-01-IntroVTT.htm │ ├── 01-02-Tool4Users.htm │ ├── 01-03-OtherResources.htm │ ├── 02-01-SettingPrefs.htm │ ├── 02-02-01-PreparingFont.htm │ ├── 02-02-OpenCloseFont.htm │ ├── 02-03-SetDevResolution.htm │ ├── 02-04-CompilingResults.htm │ ├── 02-05-Printing.htm │ ├── 02-06-GASP.htm │ ├── 02-07-MemoryReqts.htm │ ├── 02-08-Saving.htm │ ├── 02-09-Prep4Ship.htm │ ├── 03-00-MainWindow.htm │ ├── 03-01-Toolbar.htm │ ├── 03-02-MovingAround.htm │ ├── 03-02-Resizing.htm │ ├── 03-04-ChgPointSize.htm │ ├── 03-05-DiffGlyph.htm │ ├── 03-06-Measuring.htm │ ├── 03-07-00-OtherWindows.htm │ ├── 03-07-01-GlyphWindow.htm │ ├── 03-07-02-SnapShotWindow.htm │ ├── 04-01-00-HintingBasics.htm │ ├── 04-01-01-00-HintingOverview.htm │ ├── 04-01-01-01-HintingWkflow.htm │ ├── 04-01-01-02-HintingStrategies.htm │ ├── 04-01-01-03-VisualHinting.htm │ ├── 04-01-02-00-UsingCVT.htm │ ├── 04-01-02-01-ReadingCVT.htm │ ├── 04-01-02-02-SettingInitialCVT.htm │ ├── 04-01-02-03-HintingWithCVTVals.htm │ ├── 04-01-02-04-ChangingChrGrp.htm │ ├── 04-01-03-00-RefiningGlyphOutline.htm │ ├── 04-01-03-01-OnOffCurvePts.htm │ ├── 04-01-03-02-NumberingCPts.htm │ ├── 04-01-03-03-EditingMetrics.htm │ ├── 04-01-04-00-RoundingCPts.htm │ ├── 04-01-04-01-SixMethods.htm │ ├── 04-01-04-02-Ex1-Rounding.htm │ ├── 04-01-04-03-Ex2-Limitations.htm │ ├── 04-01-05-00-WorkingWithAnchors.htm │ ├── 04-01-05-01-AnchoringWithCVT.htm │ ├── 04-01-05-02-Example.htm │ ├── 04-01-05-03-FontErrorWindow.htm │ ├── 04-02-00-ControllingDistances.htm │ ├── 04-02-01-00-CreatingLinks.htm │ ├── 04-02-01-01-Ex1-CreatingLinks.htm │ ├── 04-02-01-02-Ex2-CreatingLinks.htm │ ├── 04-02-02-00-LinkingWithCVT.htm │ ├── 04-02-02-01-DistanceOrLink.htm │ ├── 04-02-02-02-ReviewCVTs.htm │ ├── 04-02-02-03-AssignCVTCategory.htm │ ├── 04-02-02-04-ChangingCVTVal.htm │ ├── 04-02-02-05-Example.htm │ ├── 04-02-03-ShiftingCPts.htm │ ├── 04-03-00-ControllingProportions.htm │ ├── 04-03-01-00-CreatingInterpolations.htm │ ├── 04-03-01-01-Ex1-InterVsLink.htm │ ├── 04-03-01-02-Ex2-AlignBowls.htm │ ├── 04-03-01-03-Ex3-AddSizes.htm │ ├── 04-04-01-00-HintingDiagonals.htm │ ├── 04-04-01-01-CreatingStrokes.htm │ ├── 04-04-01-02-AligningCPts.htm │ ├── 04-04-02-00-HintingItalics.htm │ ├── 04-04-02-01-SettingAngle.htm │ ├── 04-04-02-02-RoundCPtsItalics.htm │ ├── 05-00-RefiningPixelPatterns.htm │ ├── 05-01-PreparingMainWindow.htm │ ├── 05-02-CreatingException.htm │ ├── 05-03-Example.htm │ ├── 06-00-AdvancedHinting.htm │ ├── 06-01-00-TextBasedTables.htm │ ├── 06-01-01-EditingText.htm │ ├── 06-01-02-FindingText.htm │ ├── 06-01-03-GotoLine.htm │ ├── 06-01-04-ImportingText.htm │ ├── 06-01-05-ExportingText.htm │ ├── 06-01-06-ExportAll.htm │ ├── 06-01-07-00-ModifyingCVT.htm │ ├── 06-01-07-01-AddingNewCVT.htm │ ├── 06-01-07-02-ChangeCutIn.htm │ ├── 06-01-08-Composites.htm │ ├── 06-01-09-ImportingGlyph.htm │ ├── 06-01-10-VTTalkWindow.htm │ ├── 07-00-KeyboardShortcuts.htm │ ├── 08-00-Autohinting.htm │ ├── 08-01-Autohinting.htm │ ├── 08-02-EAAutohinting.htm │ ├── 08-03-CVTOnly.htm │ ├── 08-04-VariationFontEditingOverview.htm │ └── 08-05-VariationCVTEditing.htm │ ├── images │ ├── Anchors-HO-13ppem.gif │ ├── Anchors-HO-14ppem.gif │ ├── Anchors-HO-15ppem.gif │ ├── Anchors-O-CVT.gif │ ├── Anchors-O-NoCVT.gif │ ├── CVTlist.gif │ ├── CVTlist.png │ ├── Cursor-Align.png │ ├── Cursor-Angle.png │ ├── Cursor-Measure.png │ ├── Cursor-Navigate.png │ ├── Cursor-PtDelete.png │ ├── Cursor-PtInsert.png │ ├── Cursor-PtMove.png │ ├── Cursor-PtSwap.png │ ├── Cursor-Stroke.png │ ├── Cursor-XDelta.png │ ├── Cursor-XInterpolate.png │ ├── Cursor-XLink.png │ ├── Cursor-XMove.png │ ├── Cursor-XShift.png │ ├── Cursor-YDelta.png │ ├── Cursor-YInterpolate.png │ ├── Cursor-YLink.png │ ├── Cursor-YMove.png │ ├── Cursor-YShift.png │ ├── Cursor-ZoomIn.png │ ├── Cursor-ZoomOut.png │ ├── Defaultinstance.png │ ├── Display-Size-Other.png │ ├── DisplayOptions-Color.png │ ├── DisplayOptions-Glyph.png │ ├── DisplayOptions-Resolution.png │ ├── DisplayVariationView.png │ ├── EAAutohinter.png │ ├── Edit-CVTAttributes.png │ ├── Edit-GotoLine.png │ ├── Edit-Metrics.png │ ├── Edit.png │ ├── EditGasp.png │ ├── EditGotoGlyph.png │ ├── Error-CircularDependency.png │ ├── Error-Extrapolation.png │ ├── FileOpen.png │ ├── FileSaveAs.png │ ├── Find.png │ ├── Followgasp.png │ ├── Hinting-Outlines.gif │ ├── Hinting-Pixels.gif │ ├── IndicateCTAA.png │ ├── IndicateGS.png │ ├── Intermediate.png │ ├── LatinAuto.png │ ├── Main-MeasureTool.png │ ├── MainWindow.png │ ├── MeasureTool-Use.png │ ├── Minus.png │ ├── MinusOne.png │ ├── Options-Appearance.png │ ├── Options-File Locations.png │ ├── Options-Settings.png │ ├── Plusminusedit.png │ ├── Print.png │ ├── Rounding-1.gif │ ├── Rounding-2.gif │ ├── Rounding-3.gif │ ├── Rounding-4.gif │ ├── Rounding-5.gif │ ├── Rounding-6.gif │ ├── Rounding-X.gif │ ├── Rounding-Y.gif │ ├── RoundingEx1-1.gif │ ├── RoundingEx1-2.gif │ ├── RoundingEx1-3.gif │ ├── RoundingEx1-4.gif │ ├── RoundingEx1-5.gif │ ├── RoundingEx1-6.gif │ ├── RoundingEx2-1.gif │ ├── RoundingEx2-2.gif │ ├── RoundingEx2-3.gif │ ├── Steps.png │ ├── ToolBarPlusMinus.png │ ├── Toolbar-Align.png │ ├── Toolbar-Changer.png │ ├── Toolbar-Measure.png │ ├── Toolbar-Navigate.png │ ├── Toolbar-PtAngle.png │ ├── Toolbar-PtDelete.png │ ├── Toolbar-PtInsert.png │ ├── Toolbar-PtMove.png │ ├── Toolbar-PtSwap.png │ ├── Toolbar-SizeRun.png │ ├── Toolbar-Snapshot.png │ ├── Toolbar-Stroke.png │ ├── Toolbar-XDelta.png │ ├── Toolbar-XInter.png │ ├── Toolbar-XLink.png │ ├── Toolbar-XMove.png │ ├── Toolbar-XShift.png │ ├── Toolbar-YDelta.png │ ├── Toolbar-YInter.png │ ├── Toolbar-YLink.png │ ├── Toolbar-YMove.png │ ├── Toolbar-YShift.png │ ├── Toolbar-ZoomIn.png │ ├── Toolbar-ZoomOut.png │ ├── Toolbar.png │ ├── ToolbarButtons.psd │ ├── ToolsPrepare.png │ ├── ToolsPrepareConfirm.png │ ├── ToolsShip.png │ ├── VFMainWindow.png │ ├── VFWindowSetup.png │ ├── VarPlus.png │ ├── VariationView.png │ ├── bm100.gif │ ├── bm102.gif │ ├── bm103.gif │ ├── bm104.gif │ ├── bm105.gif │ ├── bm114.gif │ ├── bm115.gif │ ├── bm116.gif │ ├── bm117.gif │ ├── bm118.gif │ ├── bm119.gif │ ├── bm120.gif │ ├── bm121.gif │ ├── bm122.gif │ ├── bm123.gif │ ├── bm124.gif │ ├── bm125.gif │ ├── bm126.gif │ ├── bm127.gif │ ├── bm129.gif │ ├── bm130.gif │ ├── bm131.gif │ ├── bm132.gif │ ├── bm133.gif │ ├── bm134.gif │ ├── bm135.gif │ ├── bm138.gif │ ├── bm141.gif │ ├── bm144.gif │ ├── bm146.gif │ ├── bm147.gif │ ├── bm156.gif │ ├── bm157.gif │ ├── bm158.gif │ ├── bm159.gif │ ├── bm160.gif │ ├── bm3.gif │ ├── bm30.gif │ ├── bm31.gif │ ├── bm32.gif │ ├── bm33.gif │ ├── bm34.gif │ ├── bm35.gif │ ├── bm36.gif │ ├── bm37.gif │ ├── bm38.gif │ ├── bm39.gif │ ├── bm4.gif │ ├── bm40.gif │ ├── bm41.gif │ ├── bm42.gif │ ├── bm43.gif │ ├── bm44.gif │ ├── bm45.gif │ ├── bm46.gif │ ├── bm47.gif │ ├── bm48.gif │ ├── bm49.gif │ ├── bm5.gif │ ├── bm50.gif │ ├── bm51.gif │ ├── bm52.gif │ ├── bm53.gif │ ├── bm54.gif │ ├── bm55.gif │ ├── bm56.gif │ ├── bm57.gif │ ├── bm58.gif │ ├── bm59.gif │ ├── bm6.gif │ ├── bm60.gif │ ├── bm61.gif │ ├── bm62.gif │ ├── bm63.gif │ ├── bm64.gif │ ├── bm65.gif │ ├── bm66.gif │ ├── bm67.gif │ ├── bm68.gif │ ├── bm69.gif │ ├── bm7.gif │ ├── bm70.gif │ ├── bm71.gif │ ├── bm72.gif │ ├── bm73.gif │ ├── bm74.gif │ ├── bm75.gif │ ├── bm76.gif │ ├── bm77.gif │ ├── bm78.gif │ ├── bm79.gif │ ├── bm8.gif │ ├── bm80.gif │ ├── bm81.gif │ ├── bm82.gif │ ├── bm83.gif │ ├── bm84.gif │ ├── bm85.gif │ ├── bm86.gif │ ├── bm87.gif │ ├── bm88.gif │ ├── bm89.gif │ ├── bm9.gif │ ├── bm90.gif │ ├── bm91.gif │ ├── bm92.gif │ ├── bm93.gif │ ├── bm94.gif │ ├── bm95.gif │ ├── bm96.gif │ ├── bm97.gif │ ├── bm98.gif │ ├── bm99.gif │ ├── cvtonly.png │ └── placeholder.png │ ├── vtt.chm │ ├── vtt.chw │ ├── vtt.hhc │ └── vtt.hhp ├── pypi.md ├── pyproject.toml ├── requirements-dev.txt ├── setup.cfg ├── setup.py ├── src ├── .clang-format ├── CvtManager.cpp ├── CvtManager.h ├── File.cpp ├── File.h ├── FixedMath.h ├── GUIDecorations.h ├── List.cpp ├── List.h ├── Makefile ├── MathUtils.cpp ├── MathUtils.h ├── Memory.cpp ├── Memory.h ├── Platform.cpp ├── Platform.h ├── TMTParser.cpp ├── TMTParser.h ├── TTAssembler.cpp ├── TTAssembler.h ├── TTEngine.cpp ├── TTEngine.h ├── TTFont.cpp ├── TTFont.h ├── TTGenerator.cpp ├── TTGenerator.h ├── TextBuffer.cpp ├── TextBuffer.h ├── Variation.cpp ├── Variation.h ├── VariationInstance.cpp ├── VariationInstance.h ├── VariationModels.cpp ├── VariationModels.h ├── application.cpp ├── application.h ├── getopt.h ├── opentypedefs.h ├── pch.h ├── ttiua.cpp ├── ttiua.h ├── vttcompile.cpp └── vttcompile.h ├── templates ├── chargrp.txt ├── cvttmpl.txt ├── fpgmtmpl.txt └── preptmpl.txt ├── tests ├── data │ ├── LICENSE.txt │ ├── Selawik-README.md │ └── Selawik-variable.ttf └── test_vttcompile.py ├── vttcompile ├── CMakeLists.txt ├── vttcompile.sln ├── vttcompile.vcxproj ├── vttcompile.vcxproj.filters └── vttcompile.xcodeproj │ ├── project.pbxproj │ └── project.xcworkspace │ ├── contents.xcworkspacedata │ └── xcshareddata │ └── IDEWorkspaceChecks.plist └── vttcompilepy ├── __init__.py ├── __main__.py ├── _version.py ├── cvttcompilepy.pxd ├── quit_to_glyphs.py └── vttcompilepy.pyx /.github/workflows/msbuild.yml: -------------------------------------------------------------------------------- 1 | name: MSBuild 2 | 3 | on: [push] 4 | 5 | env: 6 | # Path to the solution file relative to the root of the project. 7 | SOLUTION_FILE_PATH: .\vttcompile\vttcompile.sln 8 | 9 | # Configuration type to build. 10 | # You can convert this to a build matrix if you need coverage of multiple configuration types. 11 | # https://docs.github.com/actions/learn-github-actions/managing-complex-workflows#using-a-build-matrix 12 | BUILD_CONFIGURATION: Release 13 | 14 | jobs: 15 | build: 16 | runs-on: windows-latest 17 | 18 | steps: 19 | - uses: actions/checkout@v2 20 | 21 | - name: Add MSBuild to PATH 22 | uses: microsoft/setup-msbuild@v1.0.2 23 | 24 | - name: Restore NuGet packages 25 | working-directory: ${{env.GITHUB_WORKSPACE}} 26 | run: nuget restore ${{env.SOLUTION_FILE_PATH}} 27 | 28 | - name: Build 29 | working-directory: ${{env.GITHUB_WORKSPACE}} 30 | # Add additional options to the MSBuild command line here (like platform or verbosity level). 31 | # See https://docs.microsoft.com/visualstudio/msbuild/msbuild-command-line-reference 32 | run: msbuild /m /p:Configuration=${{env.BUILD_CONFIGURATION}} ${{env.SOLUTION_FILE_PATH}} 33 | 34 | - name: Upload a Build Artifact 35 | uses: actions/upload-artifact@v4 36 | with: 37 | name: release_binary 38 | path: ./vttcompile/x64/release/*.exe 39 | 40 | -------------------------------------------------------------------------------- /CODE_OF_CONDUCT.md: -------------------------------------------------------------------------------- 1 | # Microsoft Open Source Code of Conduct 2 | 3 | This project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/). 4 | 5 | Resources: 6 | 7 | - [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/) 8 | - [Microsoft Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) 9 | - Contact [opencode@microsoft.com](mailto:opencode@microsoft.com) with questions or concerns 10 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) Microsoft Corporation. 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE 22 | -------------------------------------------------------------------------------- /NOTICE.txt: -------------------------------------------------------------------------------- 1 | NOTICES 2 | 3 | This repository incorporates material as listed below or described in the code. 4 | 5 | --------------------------------------------------------- 6 | 7 | fonttools/fonttools 8 | https://github.com/fonttools/fonttools 9 | 10 | MIT License 11 | 12 | Copyright (c) 2017 Just van Rossum 13 | 14 | Permission is hereby granted, free of charge, to any person obtaining a copy 15 | of this software and associated documentation files (the "Software"), to deal 16 | in the Software without restriction, including without limitation the rights 17 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 18 | copies of the Software, and to permit persons to whom the Software is 19 | furnished to do so, subject to the following conditions: 20 | 21 | The above copyright notice and this permission notice shall be included in all 22 | copies or substantial portions of the Software. 23 | 24 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 25 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 26 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 27 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 28 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 29 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 30 | SOFTWARE. -------------------------------------------------------------------------------- /SECURITY.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | ## Security 4 | 5 | Microsoft takes the security of our software products and services seriously, which includes all source code repositories managed through our GitHub organizations, which include [Microsoft](https://github.com/Microsoft), [Azure](https://github.com/Azure), [DotNet](https://github.com/dotnet), [AspNet](https://github.com/aspnet), [Xamarin](https://github.com/xamarin), and [our GitHub organizations](https://opensource.microsoft.com/). 6 | 7 | If you believe you have found a security vulnerability in any Microsoft-owned repository that meets [Microsoft's definition of a security vulnerability](https://docs.microsoft.com/en-us/previous-versions/tn-archive/cc751383(v=technet.10)), please report it to us as described below. 8 | 9 | ## Reporting Security Issues 10 | 11 | **Please do not report security vulnerabilities through public GitHub issues.** 12 | 13 | Instead, please report them to the Microsoft Security Response Center (MSRC) at [https://msrc.microsoft.com/create-report](https://msrc.microsoft.com/create-report). 14 | 15 | If you prefer to submit without logging in, send email to [secure@microsoft.com](mailto:secure@microsoft.com). If possible, encrypt your message with our PGP key; please download it from the [Microsoft Security Response Center PGP Key page](https://www.microsoft.com/en-us/msrc/pgp-key-msrc). 16 | 17 | You should receive a response within 24 hours. If for some reason you do not, please follow up via email to ensure we received your original message. Additional information can be found at [microsoft.com/msrc](https://www.microsoft.com/msrc). 18 | 19 | Please include the requested information listed below (as much as you can provide) to help us better understand the nature and scope of the possible issue: 20 | 21 | * Type of issue (e.g. buffer overflow, SQL injection, cross-site scripting, etc.) 22 | * Full paths of source file(s) related to the manifestation of the issue 23 | * The location of the affected source code (tag/branch/commit or direct URL) 24 | * Any special configuration required to reproduce the issue 25 | * Step-by-step instructions to reproduce the issue 26 | * Proof-of-concept or exploit code (if possible) 27 | * Impact of the issue, including how an attacker might exploit the issue 28 | 29 | This information will help us triage your report more quickly. 30 | 31 | If you are reporting for a bug bounty, more complete reports can contribute to a higher bounty award. Please visit our [Microsoft Bug Bounty Program](https://microsoft.com/msrc/bounty) page for more details about our active programs. 32 | 33 | ## Preferred Languages 34 | 35 | We prefer all communications to be in English. 36 | 37 | ## Policy 38 | 39 | Microsoft follows the principle of [Coordinated Vulnerability Disclosure](https://www.microsoft.com/en-us/msrc/cvd). 40 | 41 | -------------------------------------------------------------------------------- /SUPPORT.md: -------------------------------------------------------------------------------- 1 | # Support 2 | 3 | ## How to file issues and get help 4 | 5 | This project uses GitHub Issues to track bugs and feature requests. Please search the existing 6 | issues before filing new issues to avoid duplicates. For new issues, file your bug or 7 | feature request as a new Issue. 8 | 9 | ## Microsoft Support Policy 10 | 11 | Support for this **PROJECT or PRODUCT** is limited to the resources listed above. 12 | -------------------------------------------------------------------------------- /doc/Extending_Typeman_Talk/Extending Typeman Talk.docx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/Extending_Typeman_Talk/Extending Typeman Talk.docx -------------------------------------------------------------------------------- /doc/Res_Hints_Implementation_Guide/Res hints implementation guide.docx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/Res_Hints_Implementation_Guide/Res hints implementation guide.docx -------------------------------------------------------------------------------- /doc/VTT Language Reference/doc-print.css: -------------------------------------------------------------------------------- 1 | body { 2 | /* font-family: "Century Schoolbook"; */ 3 | font-size: 9pt; 4 | padding: 2cm 1cm 1.5cm 2cm; 5 | line-height: 1.45em; 6 | } 7 | 8 | p { 9 | margin: 0 0 1.45em 0; 10 | } 11 | 12 | table { 13 | font-size: 7.5pt; 14 | border-top: 1px solid #000; 15 | border-bottom: 1px solid #000; 16 | } 17 | 18 | td, th { 19 | text-align: left; 20 | vertical-align: top; 21 | padding: 0.15em 1.5em 0.15em 0; 22 | } 23 | 24 | th { 25 | border-bottom: 1px solid #000; 26 | } 27 | 28 | td p, th p { 29 | margin: 0; 30 | line-height: 1.35em; 31 | } 32 | 33 | a:link, a:visited { 34 | text-decoration: none; 35 | color: #000; 36 | } 37 | 38 | .hint-caps { 39 | letter-spacing: 0.05em; 40 | } 41 | -------------------------------------------------------------------------------- /doc/VTT Language Reference/doc.css: -------------------------------------------------------------------------------- 1 | body { 2 | font-family: "Cambria"; 3 | padding: 2em; 4 | line-height: 1.45em; 5 | background: #fff; 6 | color: #000; 7 | } 8 | 9 | p { 10 | hyphens: auto; 11 | max-width: 42em; 12 | margin: 0 0 1.45em 0; 13 | } 14 | 15 | table { 16 | border-collapse: collapse; 17 | font-size: 0.9em; 18 | border-top: 1px solid #000; 19 | border-bottom: 1px solid #000; 20 | margin: 2em 0; 21 | } 22 | 23 | td, th { 24 | text-align: left; 25 | vertical-align: top; 26 | padding: 0.2em 1.5em 0.2em 0; 27 | } 28 | 29 | th { 30 | border-bottom: 1px solid #888; 31 | } 32 | 33 | th.v { 34 | border-bottom: none; 35 | } 36 | 37 | td p, th p { 38 | margin: 0; 39 | } 40 | 41 | div { 42 | margin-top: 6em; 43 | padding-left: 4em; 44 | } 45 | 46 | h1, h2, h3 { 47 | margin-top: 2em; 48 | } 49 | 50 | h1 { 51 | margin-top: 0; 52 | } 53 | 54 | div h3 { 55 | margin-left: -3.5em; 56 | } 57 | 58 | a:link, a:visited { 59 | text-decoration: none; 60 | color: #cd0000; 61 | } 62 | 63 | a:hover { 64 | text-decoration: underline; 65 | } 66 | 67 | ol { 68 | max-width: 36em; 69 | } 70 | 71 | ul { 72 | margin: 0; 73 | padding: 0 0 0 1.25em; 74 | } 75 | 76 | section { 77 | margin-top: 4em; 78 | } 79 | 80 | .hint-caps { 81 | letter-spacing: 0.05em; 82 | } 83 | 84 | .num { 85 | text-align: right; 86 | } -------------------------------------------------------------------------------- /doc/VTT Language Reference/vttdoc-images/vttlang-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/VTT Language Reference/vttdoc-images/vttlang-1.png -------------------------------------------------------------------------------- /doc/VTT Language Reference/vttdoc-images/vttlang-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/VTT Language Reference/vttdoc-images/vttlang-2.png -------------------------------------------------------------------------------- /doc/VTT Language Reference/vttdoc-images/vttlang-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/VTT Language Reference/vttdoc-images/vttlang-3.png -------------------------------------------------------------------------------- /doc/VTT Language Reference/vttdoc-images/vttlang-4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/VTT Language Reference/vttdoc-images/vttlang-4.png -------------------------------------------------------------------------------- /doc/VTT Language Reference/vttdoc-images/vttlang-5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/VTT Language Reference/vttdoc-images/vttlang-5.png -------------------------------------------------------------------------------- /doc/VTT Language Reference/vttdoc-images/vttlang-GRAB_HERE_IN_X.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/VTT Language Reference/vttdoc-images/vttlang-GRAB_HERE_IN_X.png -------------------------------------------------------------------------------- /doc/VTT Language Reference/vttdoc-images/vttlang-ISTROKE-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/VTT Language Reference/vttdoc-images/vttlang-ISTROKE-1.png -------------------------------------------------------------------------------- /doc/VTT Language Reference/vttdoc-images/vttlang-ISTROKE-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/VTT Language Reference/vttdoc-images/vttlang-ISTROKE-2.png -------------------------------------------------------------------------------- /doc/VTT Language Reference/vttdoc-images/vttlang-SERIF.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/VTT Language Reference/vttdoc-images/vttlang-SERIF.png -------------------------------------------------------------------------------- /doc/VTT Language Reference/vttdoc-images/vttlang-STROKE.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/VTT Language Reference/vttdoc-images/vttlang-STROKE.png -------------------------------------------------------------------------------- /doc/VTT Language Reference/vttdoc-images/vttlang-VACUFORMLIMIT.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/VTT Language Reference/vttdoc-images/vttlang-VACUFORMLIMIT.png -------------------------------------------------------------------------------- /doc/VTT Language Reference/vttdoc-images/vttlang-XROUND.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/VTT Language Reference/vttdoc-images/vttlang-XROUND.png -------------------------------------------------------------------------------- /doc/VTT Language Reference/vttdoc-images/vttlang-X_DOUBLE_GRID.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/VTT Language Reference/vttdoc-images/vttlang-X_DOUBLE_GRID.png -------------------------------------------------------------------------------- /doc/VTT Language Reference/vttdoc-images/vttlang-X_DOWN_TO_GRID.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/VTT Language Reference/vttdoc-images/vttlang-X_DOWN_TO_GRID.png -------------------------------------------------------------------------------- /doc/VTT Language Reference/vttdoc-images/vttlang-X_HALF_GRID.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/VTT Language Reference/vttdoc-images/vttlang-X_HALF_GRID.png -------------------------------------------------------------------------------- /doc/VTT Language Reference/vttdoc-images/vttlang-X_UP_TO_GRID.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/VTT Language Reference/vttdoc-images/vttlang-X_UP_TO_GRID.png -------------------------------------------------------------------------------- /doc/VTT Language Reference/vttdoc-images/vttlang-YROUND.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/VTT Language Reference/vttdoc-images/vttlang-YROUND.png -------------------------------------------------------------------------------- /doc/VTT Language Reference/vttdoc-images/vttlang-Y_HALF_GRID.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/VTT Language Reference/vttdoc-images/vttlang-Y_HALF_GRID.png -------------------------------------------------------------------------------- /doc/VTT_Control_Program/VTT Control Program.docx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/VTT_Control_Program/VTT Control Program.docx -------------------------------------------------------------------------------- /doc/help/Index.hhk: -------------------------------------------------------------------------------- 1 | 2 | 3 |
4 | 5 | 6 | 7 |Microsoft Visual TrueType is a software tool for viewing, editing, and 14 | adding instructions, or hints, to the outlines of TrueType and OpenType/TTF fonts. 15 | You use Visual TrueType after creating a font with an outline editor or after 16 | converting an existing font to the TrueType format.
17 | 18 |Hints make the individual glyphs in a font look better at small point sizes, 19 | especially on low-resolution screens, printers, and other devices with fewer 20 | dots, or pixels for accurately and legibly matching the glyph outline. The 21 | lower the device resolution and the smaller the point size, the more hinting 22 | improves the accuracy and legibility of the outline. Hinting matters most for 23 | displaying TrueType fonts on screens (72-120 dpi, or dots per inch). It also 24 | improves text on high resolution screens and consumer printers (150-600dpi). 25 | However, hinting has minimal effect on high-resolution (1,200+ dpi) devices. 26 | Hints can also assemble component-based strokes, and match existing bitmap 27 | glyphs.
28 | 29 | 30 | 31 | 32 | -------------------------------------------------------------------------------- /doc/help/html/01-02-Tool4Users.htm: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 |Visual TrueType shows relationships between points, connected by arrows. At 14 | a glance, you’ll know characteristics of those relationships by studying:
15 | 16 |· The 18 | color of the arrows (green for Y direction links, red for X direction links, grey 19 | for flexible interpolations, black for shifts and strokes, and blue for strokes).
20 | 21 |· Orientation 23 | of the arrowheads (X, Y, or any direction).
24 | 25 |· Shape 27 | of the arrowheads (identifying the most frequent control value categories of 28 | straight stem, round stem, and any distance).
29 | 30 |· Control 32 | points and their rounding methods (none, to grid, to half-grid, to double-grid, 33 | down-to-grid, and up-to-grid).
34 | 35 |· Other 37 | symbols represent the presence or absence of an anchored point, a control value 38 | table (‘cvt’), or an override for a minimum distance.
39 | 40 |You use your mouse to drag and drop arrows until the on-screen character 41 | looks its best at different sizes. For example, you can drag arrows, 42 | arrowheads, and arrow tails to change the relationships between points. By 43 | displaying pop-up menus, you can change or remove attributes such as ‘cvt’ 44 | category, ‘cvt’ number, rounding methods, and freedom vectors. Alternatively, 45 | you can add or adjust any of these relationships by typing the relevant 46 | commands in the VTT Talk window.
47 | 48 |Note Visual TrueType also can edit the GASP font table as well as 49 | low-level hinting instructions.
50 | 51 | 52 | 53 | -------------------------------------------------------------------------------- /doc/help/html/01-03-OtherResources.htm: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 |Microsoft Typography offers a variety of tutorials, documents, and TrueType 14 | tools on its web site: http://www.microsoft.com/typography. 15 | Available documents include:
16 | 17 |· OpenType Font 20 | File Specification, which describes the TrueType font file, 21 | embedded bitmaps, low-level TrueType instructions, and table definitions.
22 | 23 |· Hinting Tutorial, 26 | by Vincent Connare.
27 | 28 | 29 | 30 | 31 | 32 | -------------------------------------------------------------------------------- /doc/help/html/02-07-MemoryReqts.htm: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 |Every font comes with a table that is a collection of maximum possible 14 | (‘maxp’) values for the computer memory required by each glyph. As you hint the 15 | font, Visual TrueType automatically updates the ‘maxp’ table if the hinted 16 | glyph requires more memory. This is necessary so the rasterizer can display the 17 | glyph correctly.
18 | 19 |Visual TrueType only keeps track of maximum values. If subsequent changes to 20 | the hinting reduce the amount of memory needed, Visual TrueType doesn’t update 21 | the ‘maxp’ table. As a result, by the time you finish hinting the font, some 22 | glyphs might need less than the maximum.
23 | 24 |The final version of your font should require only as much memory as 25 | necessary. Before you save your font for the last time, you can have Visual 26 | TrueType recalculate values for the ‘maxp’ table based on the memory actually 27 | required by each glyph. The calculations take a while, depending on the font 28 | size and the complexity of the hinting, but they reduce the memory requirements 29 | for the font.
30 | 31 |32 | 33 |
Be sure to recalculate the ‘maxp’ table before you prepare the font for 34 | shipping, which strips out private tables needed for this calculation (see 35 | “Preparing to Ship Your Font”).
36 | 37 |To reduce the memory required by the font
38 | 39 |1. 40 | On the Tools menu, click Recalc ‘Maxp’ Table.
41 | 42 | 43 | 44 | -------------------------------------------------------------------------------- /doc/help/html/02-08-Saving.htm: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 |As you work with Visual TrueType, you should periodically save your changes 14 | with the Save command on the File menu. The changes you save update internal 15 | source data for the open font.
16 | 17 |Note Saving the font updates the source data 18 | but does not compile the changes in the usable font. To compile the font, see 19 | “Compiling Your Results”.
20 | 21 |If you want to save the font file with a new name (for example, you are saving 22 | different versions or want to make a backup copy), use the Save As command on 23 | the File menu.
24 | 25 |26 | 27 |

Use the Save As command on the File menu to rename the font file or store 31 | it in a new location.
32 | 33 |To update an existing file
34 | 35 |1. 36 | On the File menu, click Save, or press Ctrl + S.
37 | 38 |To save the font as a new file
39 | 40 |1. 41 | On the File menu, click Save As.
42 | 43 |2. 44 | Specify where you want to save the new file.
45 | 46 |3. 47 | In the Save As text box, type a new file name.
48 | 49 |4. 50 | Click Save.
51 | 52 | 53 | 54 | -------------------------------------------------------------------------------- /doc/help/html/03-01-Toolbar.htm: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 |The toolbar on the left edge of the main window contains 24 tools. If your 14 | screen cannot display all the tools at one time, you can scroll up or down the 15 | toolbar by clicking scroll arrows at its top. The tools fall into four 16 | categories:
17 | 18 |· Viewing 20 | tools (Panning, Measuring, Zoom-in, Zoom-out)
21 | 22 |· Control 24 | point tools (Move Point, Swap Point, Delete Point, Add Point)
25 | 26 |· Hinting 28 | tools (Angle, XLink, YLink, XShift, YShift, XInter, YInter, Stroke, Align, 29 | XDelta, YDelta, XMove, YMove)
30 | 31 |· Display 33 | tools (Camera, Jump Back, and Size Run)
34 | 35 |To select a tool, click it or press the associated function key. The mouse 36 | cursor will change to indicate the selected tool.
37 | 38 |Not all tools will be available at all times. For example, the X tools will 39 | be dimmed unless Show X Direction is checked in the Display options. Similarly, 40 | the Y tools will be dimmed unless Show Y Direction option is set. For details, 41 | see “Setting Options Useful for Hinting”.
42 | 43 | 44 | 45 | -------------------------------------------------------------------------------- /doc/help/html/03-02-MovingAround.htm: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 |All Visual TrueType windows have standard Windows scroll bars that you can 14 | use to move the current glyph up and down, left and right in the window. You 15 | also can use the Home, End, and—with or without the Shift key—Page Up and Page 16 | Down keys.
17 | 18 |To move in any direction and with more control over the precise distance, 19 | use the Navigate tool to drag the glyph as if it were on a sheet of paper 20 | behind the window. The Navigate tool looks like a hand:
21 | 22 |
So does the pointer when you select the tool:
26 | 27 |![]()
The Navigate tool is so commonly used that it has two keyboard shortcuts 31 | (the Shift key, or space bar) for panning while another tool is still selected. 32 | When the glyph is where you want it, release the keyboard shortcut to resume 33 | work with the previous tool.
34 | 35 |To move horizontally or vertically
36 | 37 |1. 38 | Use the scroll bars.
39 | 40 |OR
41 | 42 |1. 43 | Press Home, End, Page Up, Page Down, Shift + Page Up, or Shift + Page 44 | Down.
45 | 46 |To pan the window
47 | 48 |1. 49 | Select the Navigate tool by pressing its button in the toolbar.
50 | 51 |2. 52 | Point where you want to start panning, and drag in any direction.
53 | 54 |OR
55 | 56 |1. 57 | Hold down the Control key or the space bar.
58 | 59 |2. 60 | Point where you want to start panning, and drag in any direction.
61 | 62 | 63 | 64 | -------------------------------------------------------------------------------- /doc/help/html/03-04-ChgPointSize.htm: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 |The main window displays only one glyph at a time. When hinting, you review 14 | and adjust the same glyph outline at many sizes, so you will change sizes often 15 | before you finish hinting a particular glyph. When you change sizes, the 16 | outline shows any hinting already applied to the glyph.
17 | 18 |Visual TrueType offers several ways to change the point size of the glyph. 19 | You can use the size run, the keyboard, or commands from the Size submenu of 20 | the Display menu.
21 | 22 |The Size menu lists the most common sizes for hinting. You can use the Other 23 | Point Size command to specify any other size between 4 points and 255 points.
24 | 25 |26 | 27 |

If the Size menu doesn’t list the size you want, use the Other Point 31 | Size command.
32 | 33 |To change the point size of the current glyph
34 | 35 |1. 36 | If the size run is displayed, click any number or glyph shown there.
37 | 38 |OR
39 | 40 |1. 41 | To change size by one point, press the up arrow key (increase) or down 42 | arrow key (decrease).
43 | 44 |OR
45 | 46 |1. 47 | To change size by 10 points, hold down the Shift key, and press the up 48 | arrow key (increase) or down arrow key (decrease).
49 | 50 |OR
51 | 52 |1. 53 | On the Size menu, click any size.
54 | 55 |OR
56 | 57 |1. 58 | On the Size menu, click Other Point Size (Ctrl + =).
59 | 60 |2. 61 | After Point Size, type a new value.
62 | 63 |3. 64 | Click Set.
65 | 66 | 67 | 68 | -------------------------------------------------------------------------------- /doc/help/html/03-07-00-OtherWindows.htm: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 |Although you can hint only one glyph at a time in the main window, you can 14 | open two other graphical windows that might be useful for visual hinting: the 15 | Character/Glyph Set Window and Snap Shot of Main Window. All three graphical 16 | windows are available as commands on the View menu with keyboard shortcuts: 17 | Main Window (Ctrl + 1), Character Set (Ctrl + 9), or Snap 18 | Shot of Main (Ctrl + 0).
19 | 20 |From the View menu, you can open several text-based windows that enable you 21 | to edit font data. All users will need to open and edit the Control Program 22 | window, which is a text window of source data for the control value table, or 23 | ‘cvt’ (see “Using the Control Value Table”). More for advanced users who need 24 | access to the technical data behind Visual TrueType. For details about other 25 | text-based windows, see “Advanced Hinting.”
26 | 27 |Only one window can be active at a time. Use standard Windows techniques to 28 | select, position, and size these windows conveniently for you.
29 | 30 |Closing the main window also closes the font. For details, see “Opening and 31 | Closing a Font”.
32 | 33 |To open a window
34 | 35 |1. 36 | On the View menu, click the window you want. All windows have a shortcut 37 | key of Ctrl pressed with a numeral. See the Keyboard Shortcuts section for a reference.
38 | 39 |To close a window
40 | 41 |1. 42 | Click its close box.
43 | 44 |OR
45 | 46 |1. 47 | On the File menu, click Close, or press Ctrl + W.
48 | 49 | 50 | 51 | -------------------------------------------------------------------------------- /doc/help/html/03-07-01-GlyphWindow.htm: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 |The Character/Glyph Set window contains every glyph included in the open 13 | font. Clicking a character in the Character/Glyph Set window displays that 14 | character in the main window.
15 | 16 |Selecting the Refresh Char Set with Main Window option as a preference 17 | synchronizes the Character/Glyph Set window and the main window. Both windows 18 | will display at the same point size (as selected in the Size menu) and 19 | resolution (as selected in the Resolution menu). Other synchronized options 20 | include grid fitting, gray scaling, sbit on or off, and MS Rasterizer.
21 | 22 |Similarly, glyphs are displayed by glyph index or character code (Unicode), 23 | depending on whether Access Characters by Glyph Index is selected as a 24 | preference. If by character code, glyphs follow the Cmap chosen in the 25 | Preferences dialog box.
26 | 27 |For details, see “Setting Preferences”
28 | 29 |To open the Character/Glyph Set window
30 | 31 |1. 32 | On the View menu, click Character/Glyph Set, or press Ctrl + 9.
33 | 34 | 35 | 36 | 37 | -------------------------------------------------------------------------------- /doc/help/html/03-07-02-SnapShotWindow.htm: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 |Opening the Snap Shot of Main Window creates a copy of the main window. If 14 | you make additional changes to the glyph in the main window, Visual TrueType 15 | does not update the snapshot to reflect those changes.
16 | 17 |You can take a snapshot two ways. Click the Snap Shot of Main command on the 18 | View menu, or click the Camera tool in the toolbar:
19 | 20 |
You can size and position the snapshot window next to the main window. This 24 | side-by-side view can be handy if, for example, you finish hinting a glyph and 25 | want to refer to that hinting as you work on a similar glyph (such as E and F 26 | or C and Ç).
27 | 28 |You can’t change anything in the Snap Shot of Main Window. However, you can 29 | change views with the Panning tool, Zoom-in tool, and Zoom-out tool. In 30 | addition, you can use the Measuring tool.
31 | 32 |The Snap Shot of Main Window remains open until you either take a new 33 | snapshot or close the window.
34 | 35 |To take a snapshot of the main window
36 | 37 |1. 38 | On the View menu, click Snapshot of Main, or press Ctrl + 0.
39 | 40 |OR
41 | 42 |1. 43 | In the toolbar, click the Camera tool.
44 | 45 | 46 | 47 | -------------------------------------------------------------------------------- /doc/help/html/04-01-00-HintingBasics.htm: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 |Designers of PostScript fonts provided “hints,” or general guidelines that 14 | the PostScript interpreter could use to decide which pixels to turn on. Later, 15 | TrueType took hinting a step further because font designers could add detailed instructions—essentially 16 | programming code—that tell the rasterizer exactly what to do to optimize the 17 | appearance of the font.
18 | 19 |This user guide won’t teach you how to hint—it assumes you already know how 20 | to do that. This chapter gives a brief overview of hinting, explains tasks you 21 | can do before you start hinting, and describes some basic features of hinting 22 | with Visual TrueType.
23 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /doc/help/html/04-01-01-01-HintingWkflow.htm: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 |Hinting is a subjective and complex art. You’ve developed your own approach 14 | to hinting, work habits that you can continue with Visual TrueType. This user 15 | guide introduces hinting tasks in a typical order that you can follow or not, 16 | based on your experience and the font itself. In general, you should:
17 | 18 |· Review 20 | the glyph and, if necessary, add, remove, and adjust existing control points. 21 | Hinting is about controlling points on the glyph outline. You control points in 22 | relation to points already hinted or in relation to some absolute X or Y value 23 | from the origin.
24 | 25 |· Hint 27 | in the Y direction, then hint in the X direction. The X and Y axes are 28 | independent for hinting except for diagonals and italics. Visual TrueType can 29 | limit its display to only Y hints or only X hints, so you don’t become 30 | confused.
31 | 32 |· Link 34 | control points before you interpolate between them. Linking creates 35 | relationships between two or more points. Interpolating maintains the relative 36 | position of one or more linked points between the first and last points in the 37 | same link.
38 | 39 |· Do 41 | all global hinting before adding local hints to create exceptions. These local 42 | hints fine-tune hinting on a glyph by moving a single control point by a 43 | specific distance at a single ppem size.
44 | 45 | 46 | 47 | -------------------------------------------------------------------------------- /doc/help/html/04-01-01-02-HintingStrategies.htm: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 |In general, the more detailed hinting you do to a font, the better the 13 | quality of the font. Some outline editors automatically hint a font for you. 14 | Although auto-hinting sometimes is better than none at all, Visual TrueType 15 | offers more sophisticated controls for those people interested in crafting 16 | high-quality fonts that will display and print reliably on all devices. For 17 | this reason, Visual TrueType can strip all auto-hinting from your font so you 18 | add more and better hints. For details, see “Preparing the Open Font” in 19 | Chapter 3, “Using Visual TrueType: The Basics.”
20 | 21 |You hint all glyphs in a font, one glyph at a time. Hints applied to a glyph 22 | apply to all sizes of that glyph. Consequently, you need to visually inspect a 23 | range of sizes, both smaller and larger, to verify that the hinting makes all 24 | sizes look good.
25 | 26 |When hinting, staying true to the outline becomes less important than 27 | producing a clear bitmap at smaller point sizes, particularly on low-resolution 28 | output devices. Your main concerns are choosing key features to maintain in the 29 | glyphs and ensuring that features similar or identical on different glyphs 30 | remain so at different sizes. You should try to:
31 | 32 |· Maintain 34 | consistent heights (cap height, x-height, ascenders, descenders, and so on).
35 | 36 |· Keep 38 | stroke weights consistent.
39 | 40 |· Prevent 42 | rounding variations that would cause inappropriate differences at small point 43 | sizes (for example, rounding one stroke to two pixels while rounding a similar 44 | stroke to one pixel).
45 | 46 |· Create 48 | even “stepping” patterns and consistent widths for diagonal strokes.
49 | 50 |· Keep 52 | counters open at small sizes.
53 | 54 |· Control 56 | side bearings so glyphs don’t touch.
57 | 58 | 59 | 60 | 61 | -------------------------------------------------------------------------------- /doc/help/html/04-01-01-03-VisualHinting.htm: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 |The application used to create a TrueType font produces glyph outlines, as 14 | well as a ‘glyf’ table of binary TrueType data. Hinting with Visual TrueType 15 | basically replaces that ‘glyf’ table with one produced by Visual TrueType. All 16 | this happens behind the scenes as you drag and drop hints on screen.
17 | 18 |Visual TrueType includes Visual TrueType Talk (VTT), a program that produces 19 | source code from your on-screen hinting. Its own ‘glyf’ program turns that VTT 20 | source into TrueType source code. In turn, Visual TrueType converts that 21 | TrueType source code to TrueType binary data, which replaces the ‘glyf’ table 22 | that came with the font. Together, the new ‘glyf’ table from Visual TrueType 23 | and the glyph outline—as produced with the font program and possibly modified 24 | with Visual TrueType—result in a hinted TrueType font.
25 | 26 |To simplify hinting, Visual TrueType displays glyph characteristics and 27 | hinting in distinctive ways so you can easily identify all parts of the glyph 28 | and all its hints. What you see depends on which commands are selected in the 29 | Visual TrueType menu (these same choices are available as check boxes in the 30 | dialog box for the Display Options command, which is on the Display menu). 31 | Selecting a Visual TrueType command or option displays the corresponding 32 | feature in the main window. See the “Configuring Main window display options” 33 | section for details on these options.
34 | 35 | 36 | 37 | 38 | -------------------------------------------------------------------------------- /doc/help/html/04-01-02-00-UsingCVT.htm: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 |Every TrueType font uses a control value table (‘cvt’) of key values in the 14 | font. Each entry in the table gives the value for the dominant width, length, 15 | or angle of a group of features, such as the stem width or the serif length. 16 | Some control values are specific to certain glyphs, but others apply to the 17 | entire font.
18 | 19 |To ensure consistency, your hints—anchors, links, and strokes—can refer to 20 | these key values. If you later change a value entered in the ‘cvt’ table, 21 | Visual TrueType updates all anchors, links, and strokes that refer to that 22 | ‘cvt’ entry.
23 | 24 |The text-based control value table displays in its own window. When you 25 | prepare the font, the window opens automatically (see “Preparing the Open 26 | Font”). Before hinting, you need to fill in a template provided by Visual 27 | TrueType, described next.
28 | 29 |After filling in the template, you may want to leave the window open. 30 | Otherwise, close it and open it again as needed. For example, you need to 31 | update a ‘cvt’ entry for italic glyphs (see the “Hinting diagonal strokes,” and 32 | “Hinting italic glyphs sections”). In addition, advanced users might want to 33 | review the ‘cvt’ entries to determine which values would be most appropriate 34 | for the anchors, links, and strokes. In addition, you might want to add other 35 | ‘cvt’ entries (for details, see “Modifying the ‘Cvt’ Table”).
36 | 37 |To open the control value table
38 | 39 |1. 40 | On the Views menu, click Control Values, or press Ctrl + 4.
41 | 42 |To close the control value table
43 | 44 |1. 45 | Select the control value table by clicking on the window or pressing 46 | Ctrl + 4.
47 | 48 |2. 49 | On the File menu, click Close. OR double-click the window’s close box.
50 | 51 | 52 | 53 | 54 | -------------------------------------------------------------------------------- /doc/help/html/04-01-02-01-ReadingCVT.htm: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 |All control values have an identification number, as well as a comment that 14 | provides information about the type of glyph or feature to which it applies. A 15 | typical entry in the ‘cvt’ table looks like this:
16 | 17 |66: 192 0xa41
18 | 19 |where
20 | 21 |· The 23 | control value number (here, 66) is the sequential number identifying the entry 24 | in the table. Links, anchors, and strokes can refer to this number. Some of 25 | these are reserved. For example, line 36 always is the italic size run.
26 | 27 |· A 29 | colon separates the first two numbers.
30 | 31 |· A 33 | control value (here, 192) gives the dominant length or width of a feature, 34 | measured in font units (F-units) scaled to the ppem height of the device grid.
35 | 36 |Any feature that needs to be controlled can be assigned a value and 37 | reference number in the ‘cvt’ table. Typically, a ‘cvt’ table includes entries 38 | for common heights (for example, baseline, cap height, and x-height), 39 | representative side-bearing points, common uppercase and lowercase stem widths 40 | (both X and Y directions), uppercase and lowercase serif thickness and length, 41 | and any italic angle.
42 | 43 | 44 | 45 | 46 | -------------------------------------------------------------------------------- /doc/help/html/04-01-02-04-ChangingChrGrp.htm: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 |The CharGrp.txt file for the font assigns each glyph to a character group: 14 | uppercase, lowercase, figure, or other. The character group tells Visual 15 | TrueType which group of values to use from the control value table (‘cvt’) for 16 | the glyph.
17 | 18 |Occasionally, you might want to use the ‘cvt’ values from a different group. 19 | For example, the font designer may have classified a dollar sign ($) as a 20 | figure. However, while hinting it, you decide that the glyph looks more like an 21 | uppercase “S.”
22 | 23 |Changing the glyph’s character group won’t affect ‘cvt’ values already 24 | applied to the glyph. However for subsequent ‘cvt’ values you assign, Visual 25 | TrueType will use the new character group.
26 | 27 |Tip Change the character group, if necessary, before assigning any 28 | ‘cvt’ values.
29 | 30 |Sometimes typographers turn on the sample text at the top of the main 31 | window (on the Display menu, click Show Text String) and cycle through all the 32 | character groups to check glyph spacing. The first part of the sample text 33 | displays the current glyph between two glyphs typical for the current character 34 | group, followed by extra text (see “Setting Preferences”).
35 | 36 |For instance, if the current glyph is A, the text string starts with 37 | HHAHOHOAOOAAA. If you change the character group to lowercase, the text string 38 | starts with nnAnonoAooAA, which shows how the A spaces with those characters.
39 | 40 |You make this change with the Change Char Group command from the Edit menu. 41 | Each time you choose the command, Visual TrueType changes the character group 42 | displayed in the status bar. Just keep choosing the command until the status 43 | bar displays the character group you want for the glyph in the main window.
44 | 45 |To change the character group of the current glyph
46 | 47 |1. 48 | On the Edit menu, click Change Char Group, or press Ctrl + U.
49 | 50 |2. 51 | If necessary, repeat until the status bar displays the correct character 52 | group.
53 | 54 | 55 | 56 | -------------------------------------------------------------------------------- /doc/help/html/04-01-03-01-OnOffCurvePts.htm: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 |Control points can be on or off the glyph outline (“on curve” or “off curve”):
13 | 14 |· The 16 | blue “on curve” points form joints in the outline. Moving one of these points 17 | creates an angle on the glyph outline, changing the direction of the outline.
18 | 19 |· The 21 | white “off curve” points affect the glyph outline less directly, changing the curve 22 | of the outline as you drag the point.
23 | 24 |At any time, you can “swap” a control point that’s on the curve to off the 25 | curve and vice versa. However, to see, add, move, or delete off-curve control 26 | points, Show Fewer Points must not be selected on the Display menu (or in the 27 | dialog box for the Options command from the Display menu). Otherwise, Visual 28 | TrueType shows only on-curve control points.
29 | 30 |To work with both on-curve and off-curve points
31 | 32 |1. 33 | Set the Show Fewer Points option in the Display Options dialog.
34 | 35 |To swap a control point
36 | 37 |1. 38 | Set the Show Fewer Points option in the Display Options dialog.
39 | 40 |2. 41 | In the toolbar, click the Swap Point tool.
42 | 43 |3. 44 | Click the control point you want to swap. The black on-curve point turns 45 | white, a white off-curve point turns black.
46 | 47 | 48 | 49 | -------------------------------------------------------------------------------- /doc/help/html/04-01-03-02-NumberingCPts.htm: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 |The ‘cvt’ table and other text-based windows refer to control points by 14 | numbers that come from the glyph outline description. To determine the number 15 | of a point, you can display these numbers, which Visual TrueType uses to keep 16 | track of the points. Numbering continues clockwise on the outer contours of a 17 | glyph and counter-clockwise on the inner contours.
18 | 19 |Each time you add or delete a point, Visual TrueType renumbers all the 20 | points and updates the point numbers in the text-based tables. These numbers 21 | are useful for advanced users who want to edit source data right in a 22 | text-based window. Otherwise, you can hide the numbers until needed.
23 | 24 |To show or hide control point numbers
25 | 26 |1. 27 | Set the Point Numbers option in the Display Options dialog.
28 | 29 | 30 | 31 | -------------------------------------------------------------------------------- /doc/help/html/04-01-03-03-EditingMetrics.htm: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 |Each glyph has two side-bearing control points: one on the left and one on 14 | the right. The right side bearing point also determines the advance width of 15 | the glyph, measured from the left side bearing point.
16 | 17 |Links and other hints often start or end at side bearing points. By default, 18 | Visual TrueType rounds the side bearing points to the grid. You can’t change 19 | the rounding method.
20 | 21 |You usually don’t move the side bearing points either. However, sometimes 22 | you may need to adjust them. For example, the font might have some rounding 23 | errors incurred in the conversion from a Fontographer file (where the font 24 | height is 1,000 units) into a TrueType file (where font height is 2,048 units).
25 | 26 |Or the side-bearing points might be very close to other control points, so 27 | distinguishing the points becomes difficult, even at enlarged views. If that 28 | happens, you might move the problematic side-bearing point an easy-to-remember 29 | distance (say, 100 units), finish hinting the adjacent control points, and then 30 | restore the side-bearing point to its original location.
31 | 32 |
Use the Edit Metrics command to move the left side-bearing point or the 36 | advance width, which moves the right side-bearing point.
37 | 38 |Editing the metrics of composite characters involves additional 39 | considerations. For details, see “Composite Characters: Using the ‘Glyf’ 40 | Table”.
41 | 42 |To move a side-bearing point
43 | 44 |1. 45 | On the Edit menu, click Edit Metrics.
46 | 47 |2. 48 | If you want, type a new value after Left Side Bearing.
49 | 50 |3. 51 | If you want, type a new value after Advance Width.
52 | 53 |4. 54 | Click OK.
55 | 56 | 57 | 58 | -------------------------------------------------------------------------------- /doc/help/html/04-01-04-00-RoundingCPts.htm: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 |Telling the computer how to round control points seems like a logical first 14 | step in hinting. However, because rounding itself seldom produces satisfactory 15 | results, Visual TrueType makes it a task you typically do in conjunction with 16 | other hinting techniques. Visual TrueType will automatically do rounding when 17 | appropriate, such as when you create links.
18 | 19 |You can round pixels while using one of the linking (XLink and YLink), 20 | interpolating (XInter and YInter), or shift (XShift and YShift) tools. With a 21 | hinting tool select, just hold down the right mouse button as you right-click 22 | on the head of a link, and Visual TrueType displays a menu of rounding options 23 | in the same direction as the tool. When you’ve chosen a method, release the mouse 24 | button. To change the rounding type with the keyboard, edit the VTT Talk 25 | commands directly (Ctrl + 5) and recompile (Ctrl + R).
26 | 27 |To set the rounding type while using hinting tools
28 | 29 |1. 30 | Point to the control point you want to round.
31 | 32 |2. 33 | Hold down the right mouse button to display a menu of rounding options 34 | and select the appropriate option.
35 | 36 |3. 37 | Drag to the option you want.
38 | 39 | 40 | 41 | -------------------------------------------------------------------------------- /doc/help/html/04-01-04-02-Ex1-Rounding.htm: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 |The same point, rounded two different ways, shows how rounding can affect 14 | grid-fitting at different point sizes. The first example uses the 15 | round-to-half-grid method, and the second uses the round-to-double-grid method: 16 |
17 | 18 ||
23 |
|
26 |
28 |
|
31 |
33 |
|
36 |
|
40 |
|
43 |
46 |
|
49 |
52 |
|
55 |
Two point sizes using rounded to the half-grid (top) and double grid 59 | (bottom).
60 | 61 |In this example, the round-to-half-grid method always gets the control point 62 | at the crotch on the center of the pixel, but it doesn’t always get it in the 63 | middle of the stroke in-between. For a stroke that is one pixel wide, the exact 64 | middle is on the pixel center, while the center of a stroke that is two pixels 65 | wide falls between the two pixels. Conversely, round-to-double-grid always gets 66 | the control point at the crotch in the exact middle, but the pixel pattern 67 | might not be optimal.
68 | 69 | 70 | 71 | -------------------------------------------------------------------------------- /doc/help/html/04-01-04-03-Ex2-Limitations.htm: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 |The following example illustrates the limitations of rounding by itself. 14 | Assume that the 12-point Times New Roman “m” shown earlier in this chapter has 15 | hints telling the rasterizer to position certain control points on the nearest 16 | grid line and to let the other points follow accordingly. A short bar marks 17 | each hinted point that controls vertical strokes:
18 | 19 |
Short bars show rounding methods on vertical control points.
23 | 24 |For the horizontal strokes, a short bar marks each hinted control point:
25 | 26 |
Short bars show rounding methods on horizontal control points.
30 | 31 |After Visual TrueType compiles the hints, the resulting glyph looks better. 32 | Even so, the left stem is still twice as wide as the other two, and the serifs 33 | are now missing altogether:
34 | 35 |
The bitmap of a 12-point Times New Roman “m” after rounding.
39 | 40 |Hinting just the control points improved the appearance of the font, but the 41 | outline needs more hints to look good. Visual TrueType encourages you to go 42 | beyond this basic approach by making rounding part of the links that you create 43 | and interpolate to hint control points. For more information, see “Controlling 44 | Distances,” and “Controlling Proportions.”
45 | 46 | 47 | 48 | -------------------------------------------------------------------------------- /doc/help/html/04-01-05-02-Example.htm: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 |In general, you should specify the ‘cvt’ values for heights before 14 | specifying ‘cvt’ values for links and interpolates in the Y direction. You’ll 15 | anchor the height of this Times New Roman “O.” In this example, Anchors is 16 | selected and Links And Dists de-selected in the Visual TrueType menu:
17 | 18 |
The “O” with anchors.
21 | 22 |Only the two Y anchors have highway signs. The signs are blank because the 23 | ‘cvt’ values for heights don’t come with a ‘cvt’ attribute, which the computer 24 | needs to determine which height a ‘cvt’ value refers to. You must enter the 25 | ‘cvt’ value.
26 | 27 |For this example, the top anchor refers to ‘cvt’ entry 3 and the bottom 28 | anchor to ‘cvt’ entry 9, even though these entries specify only the overshoots 29 | (31 and -31, respectively), not the actual heights (1536 and 0). The computer 30 | knows how to handle this because the first ‘cvt’ entries are reserved for the 31 | heights.
32 | 33 |
The “O” with anchors and ‘cvt’ values.
36 | 37 |For the “H,” the ‘cvt’ entries would be 2 and 8 instead, because the glyph 38 | has no overshoots. This solves the alignment problem.
39 | 40 |


The aligned “HO” at 15, 14, and 13 points and 96 dpi.
45 | 46 | 47 | 48 | -------------------------------------------------------------------------------- /doc/help/html/04-02-00-ControllingDistances.htm: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 |Most of your hinting will be done to control distances between points. You 14 | can control distances two ways:
15 | 16 |· Links 18 | maintain a flexible relationship between two points. Usually, the link will 19 | refer to an entry in the control value table (‘cvt’) to determine the position 20 | of one point in relation to the other. If it doesn’t, the link is called a 21 | distance.
22 | 23 |· Shifts 25 | maintain a rigid relationship between two points. What affects one point 26 | equally affects the other.
27 | 28 | 29 | 30 | -------------------------------------------------------------------------------- /doc/help/html/04-02-01-02-Ex2-CreatingLinks.htm: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 |Visual TrueType keeps track of your links so that you cannot do something 14 | that won’t work. For example, a chain of links can be useful to control the 15 | curve of the serif:
16 | 17 |


A chain of three vertical links.
22 | 23 |Adding a fourth link might seem like a good idea to assure that the stem is 24 | identical to other such stems in the same font:
25 | 26 |
Adding a fourth link.
29 | 30 |However, this is one link too many. A link specifies which part of the 31 | character must not give way upon fitting the outline to the grid. This implies 32 | that something else must give way. But if the last link in the chain links back 33 | to the starting point, nothing can give way. Visual TrueType will display a 34 | message like:
35 | 36 |
A chain of links cannot begin and end at the same control point.
40 | 41 |The last link must not link back to a control point used earlier in the 42 | chain. Visual TrueType alerts you so you can delete a link from the 43 | chain or forego the last link you tried to create.
44 | 45 | 46 | 47 | -------------------------------------------------------------------------------- /doc/help/html/04-02-02-00-LinkingWithCVT.htm: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 |A font should have certain constant relationships between glyphs. For 14 | example, the dominant weight of the stems should apply to round stems, as well 15 | as straight stems, and certain control points should fall on the baseline. You can 16 | achieve this control over relationships by having links refer to entries in the 17 | control value table (‘cvt’).
18 | 19 |By default, Visual TrueType assumes that every link should refer to a ‘cvt’ 20 | value. That value specifies how far, in whole pixels rounded to the grid at the 21 | current ppem size, the child point is from the parent point.
22 | 23 |Several links can refer to the same control value. This helps control 24 | consistency throughout the font at different point sizes and device 25 | resolutions.
26 | 27 |Only unique distances unrelated to any other distance don’t require a ‘cvt’ 28 | value. A link without a ‘cvt’ value is called a distance.
29 | 30 | 31 | 32 | -------------------------------------------------------------------------------- /doc/help/html/04-02-02-02-ReviewCVTs.htm: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 |Every link has what looks like a highway sign. When you want to review or 14 | change the ‘cvt’ value assigned to a link, you should display those signs. 15 | Otherwise, hiding them makes the links and other on-screen hinting easier to 16 | see.
17 | 18 |
The X links of a Times New Roman “B” with highway signs showing ‘ cvt’ 23 | values.
24 | 25 |You can display large highway signs that include the sequential line number 26 | of the ‘cvt’ value used by each link, or you can turn on smaller, unnumbered 27 | signs. For details, see “Hinting with ‘Cvt’ Values”
28 | 29 |Note A distance will not display a highway sign.
30 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /doc/help/html/04-03-00-ControllingProportions.htm: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 |An interpolation controls the proportions of a glyph by maintaining the 14 | relative position (in either the X or Y direction) of one or more “child” 15 | points that fall between two other “parent” points. The key word is 16 | “between”—the child point(s) cannot be further in the X or Y direction than 17 | either parent or on the same X or Y coordinate.
18 | 19 |Interpolating is useful when a central feature of a glyph is not controlled, 20 | but other features have been because of known heights (Y direction) or side 21 | bearings (X direction). Y interpolations are common for these glyphs: 3, 4, 5, 22 | 6, 8, 9, A, B, E, F, G, H. K, P, R, X, Y, a, e, g, k, x, y, &, and *. X 23 | interpolations are common for 8, A, B, E, G, K, M, R, W, X, Y, k, m, v, w, x, 24 | y, &, *.
25 | 26 |The simplest interpolation controls a single control point for a vertex 27 | relative to other points. For example, interpolating the vertex in the middle 28 | of the right side of a “B” can control it in the Y direction relative to the 29 | top and bottom of the center stem.
30 | 31 |However, choices for interpolating can be more complicated. Consider the 32 | same center stem of the “B.” You’ll have to decide whether to interpolate the 33 | top or bottom of that stem relative to the top and bottom of the glyph. Either 34 | choice will result in problems at certain sizes that you can fix with exception 35 | hints (for details, see “Refining Pixel Patterns”). However, the better your 36 | choice, the fewer exception hints you’ll need to create, which reduces your 37 | work and the disk space required by the font.
38 | 39 | 40 | 41 | -------------------------------------------------------------------------------- /doc/help/html/04-03-01-02-Ex2-AlignBowls.htm: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 |By design, the bottom bowl of a Times New Roman “B” is wider than the top 14 | bowl. With the previous interpolation, this design subtlety is apparent at 12 15 | points. However, the bowls appear equal at 10 points, staggered again at 8 16 | points, and aligned again at 6 points.
17 | 18 |Additional instructions can make the bowls fall on the grid properly. First, 19 | links from the side-bearing points control the placement of the left stroke and 20 | the bottom round stroke. Next, interpolating between those links places the top 21 | round stroke in proportion to the left (straight) stroke and the bottom round 22 | stroke, like this:
23 | 24 |
Interpolating to align the bowls.
28 | 29 |These hints align the bowls at the three smaller sizes:
30 | 31 |


Aligned bowls at 10, 8, and 6 points and 96 dpi.
37 | 38 |This example showed just one of many ways to align the bowls. Another 39 | approach might be to link the two round strokes. However, you cannot 40 | interpolate the bottom round stroke because it is not actually between 41 | “between” the left straight stroke and the top round stroke:
42 | 43 |
Incorrect attempt to interpolate a child point not between the parent 48 | points.
49 | 50 |Attempting this interpolation creates a circular dependency, which Visual 51 | TrueType won’t allow. A message will tell you what’s wrong, in this case 52 | interpolating between parent points:
53 | 54 |
Visual TrueType explains the interpolation error.
58 | 59 | 60 | 61 | -------------------------------------------------------------------------------- /doc/help/html/04-03-01-03-Ex3-AddSizes.htm: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 |The interpolations in Example 1 and Example 2 have made a Times New Roman 14 | “B” that looks good at 12, 10, 8, and 6 points. However, you still must review 15 | the “B” at other sizes to see if the results are acceptable. In this case, the 16 | 7-point “B” doesn’t look as good as the adjacent sizes:
17 | 18 |


Times New Roman “B” at 8, 7, and 6 points and 96 dpi.
24 | 25 |Note the control point at the crotch of the two bowls. The interpolation 26 | moves the middle stroke up or down a little bit, and this point follows 27 | “accordingly.” At the even sizes (8 and 6 points), the control point hovers 28 | around the center of the pixel. At 7 points, however, “accordingly” positions 29 | the control point near the bottom of the pixel.
30 | 31 |Correcting this requires more hinting to define “accordingly.” You can do 32 | that by interpolating the control point between the top and the bottom edge of 33 | the middle stroke:
34 | 35 |
Controlling more and more details...
39 | 40 |For clarity, the above illustration shows the interpolations with pixels 41 | turned off, but grid-fitting still on. Turning the pixels back on shows that 42 | the new interpolation has produced the desired results:
43 | 44 |


...for increasingly better results.
50 | 51 | 52 | 53 | -------------------------------------------------------------------------------- /doc/help/html/04-04-01-00-HintingDiagonals.htm: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 |To hint diagonal strokes, you use the Stroke tool to define the width of 14 | each diagonal. Then, because other hinting might change the position of control 15 | points that are supposed to be aligned along the diagonal, you can assure their 16 | alignment.
17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /doc/help/html/04-04-02-00-HintingItalics.htm: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 |Before adding links, interpolations, and other hinting to an italic font, 14 | you must do three tasks:
15 | 16 |· Enter 18 | the italic size run in the ‘cvt’ table (for the entire font).
19 | 20 |· Set 22 | the angle of the stroke (for each glyph).
23 | 24 |· Minimize 26 | stair-stepping pixels by changing the rounding method on control points.
27 | 28 |The section describes those tasks. When you’ve finished, continue with 29 | conventional hinting.
30 | 31 | 32 | 33 | 34 | -------------------------------------------------------------------------------- /doc/help/html/04-04-02-02-RoundCPtsItalics.htm: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 |When the control point has to give way (to comply with the rounding), you 14 | may want it to do so not in parallel to the grid line, but parallel (Y 15 | direction) or perpendicular (X direction) to the main stroke angle of the 16 | italic glyph you’re hinting. You can do so by changing the rounding methods on 17 | the control points of the italic glyphs.
18 | 19 |You can change the rounding method of any control point while linking, interpolating, 20 | or shifting it. Just hold down the Shift key as you click the control point 21 | with the hinting tool. Visual TrueType displays the menu for rounding methods 22 | (for details, see Rounding Control 23 | Points).
24 | 25 |For italics, you choose rounding methods from the middle and bottom rows of 26 | the menu:
27 | 28 |· The
30 | middle row specifies rounding in relation to the main stroke angle you measured
31 | for the glyph:
32 | ![]()
· The
37 | bottom row specifies rounding in relation to the adjusted italic angle, which
38 | is the main stroke angle but adjusted to cross the baseline and the cap height
39 | at a pixel boundary:
40 | ![]()
Use this row when the diagonal strokes of the italic glyphs have an 44 | unattractive and distracting stair-step pattern.
45 | 46 |However, rounding may not offer the subtle adjustments you need to correct 47 | every stair-step pattern. Sometimes, you may want to use the XMove and YMove 48 | tools. Both tools can move control points slightly off the grid (for example, 49 | one-fourth pixel), which isn’t possible by simple rounding. For details about 50 | using the XMove and YMove tools, see “Refining Pixel Patterns.”
51 | 52 |Note The move tools shift a control point a set number of pixels, and 53 | the adjustment applies to all sizes of the glyph.
54 | 55 | 56 | 57 | -------------------------------------------------------------------------------- /doc/help/html/05-01-PreparingMainWindow.htm: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 |Before you create a delta or move, you need to set up the main window 14 | correctly. Open the Display Options dialog and configure options as follows:
15 | 16 |Set the Grid Fit option so that you can see the effects of your work at each 17 | ppem size. Exceptions apply only to a particular grid-fitted ppem size.
18 | 19 |Set the Pixels option so the pixels immediately show the results of the 20 | exception.
21 | 22 |Clear the Show Fewer Points option to display the off-curve points. 23 | Exceptions apply only to on-curve and off-curve control points, not to pixels. 24 | More control points mean more ways to tweak the outline, forcing the computer 25 | to choose different pixels, adding and removing to correct the problem.
26 | 27 |Set the Grid Lines and Pixel Centers options so you can see if the exception 28 | extends the outline over a pixel center, causing Visual TrueType to turn a 29 | particular pixel on or off.
30 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /doc/help/html/05-03-Example.htm: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 |Consider this Times New Roman “O.” Despite links and anchors to align the 14 | symmetrical shape, the results need improvement:
15 | 16 |
After grid fitting, the “O” still has two “knees.”
20 | 21 |A delta of 1/8 pixel to the left eliminates the top knee:
22 | 23 |
After a 1/8-pixel delta at the top right.
27 | 28 |A second delta of 1/8-pixel to the right corrects the second knee:
29 | 30 |
After a second 1/8 pixel at the bottom left.
34 | 35 | 36 | 37 | -------------------------------------------------------------------------------- /doc/help/html/06-00-AdvancedHinting.htm: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 |The graphical interface in Visual TrueType handles most hinting 14 | requirements. However, if you’re an advanced user or otherwise familiar with 15 | TrueType tables, you have more options. You can:
16 | 17 |· Make 19 | additional changes to the control value table (‘cvt’), as well as the ‘prep and 20 | ‘glyf’ tables used by Visual TrueType.
21 | 22 |· Import 24 | a glyph from another font to take advantage of hinting already done to it.
25 | 26 |· Do 28 | additional hinting in the VTT Talk window by entering text-based commands.
29 | 30 | 31 | 32 | -------------------------------------------------------------------------------- /doc/help/html/06-01-01-EditingText.htm: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 |Some tables, such as the ‘cvt’ table, need more information from you, or you 14 | might insert commands to do hinting inherently not possible with Visual 15 | TrueType, such as function calls. If you have typography and TrueType 16 | expertise, you can edit the text.
17 | 18 |To select text, use standard Windows techniques.
19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /doc/help/html/06-01-02-FindingText.htm: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 |The fastest way to find a specific string of text is to search for it using 14 | the Find (Ctrl + F) and Find Again (F3) commands on the Edit menu.
15 | 16 |Using the Find command, you can search the entire font. Or, if you want to 17 | narrow the search, you can limit it by clicking one or both check boxes:
18 | 19 |Search All Glyphs/Characters searches all glyphs or characters, based on 20 | glyph index or character code specified with the Preferences command on the 21 | File menu (see “Setting Preferences”).
22 | 23 |Case Sensitive specifies text whose uppercase and lowercase glyphs match 24 | what you type for Which Text.
25 | 26 |
Type the text you want to find and, optionally, limit the search.
30 | 31 |To look for another occurrence of the text last specified with the Find 32 | command, use the Find Next command.
33 | 34 |To search for specific text
35 | 36 |1. On 38 | the Edit menu, select Find, or press Ctrl + F.
39 | 40 |2. Type 42 | the text you’re looking for.
43 | 44 |3. To
46 | search the entire font, click Search All Glyphs/Characters.
47 | If you select Find in the VTT Talk window, the search looks at the VTT Talk of
48 | each glyph. In the Glyph Program window, the search looks at the TrueType of
49 | each glyph. This option isn’t available in other text-based windows because the
50 | font has only one of each (there are only one each of the ‘cvt,’ ‘fpgm,’ and
51 | ‘prep’ tables) for all glyphs.
52 | If the text must match the capitalization in the Which Text text box, click
53 | Case Sensitive.
4. Click 57 | Find.
58 | 59 |To repeat the search
60 | 61 |1. 62 | On the Edit menu, select Find Next, or press F3.
63 | 64 | 65 | 66 | -------------------------------------------------------------------------------- /doc/help/html/06-01-03-GotoLine.htm: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 |Sometimes you will want to go to a particular line or entry. For example, the 14 | Font Error window may give the line number of an error in an OpenType table.
15 | 16 |If you know the line number with the data you want to review or modify, this 17 | direct approach can be faster than scrolling through a lengthy table or data 18 | file.
19 | 20 |
Type a line number from the selected text-based window.
24 | 25 |If the compiler finds an error in the VTT Talk, TrueType, control value, 26 | font program, or pre-program window, Visual TrueType displays an error message, 27 | then opens the problem window and highlights the line cited in the error 28 | message.
29 | 30 |To go to a line
31 | 32 |1. 33 | On the Edit menu, select the Go To submenu and choose Line, or press 34 | Ctrl + L.
35 | 36 |2. 37 | Type the line number to go to.
38 | 39 |3. 40 | Click OK.
41 | 42 | 43 | 44 | -------------------------------------------------------------------------------- /doc/help/html/06-01-04-ImportingText.htm: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 |You can import text into any text-based table, which saves time if the text 14 | already exists elsewhere.
15 | 16 |For example, if most of the data in a ‘cvt’ table you completed for another 17 | font applies to the open font, you may want to use that ‘cvt’ table to replace 18 | the ‘cvt’ template that Visual TrueType imported when you prepared the font.
19 | 20 |Note When another font has data you can use “as is” or with minor 21 | modification, export it as a text file (see “Exporting Text” next) and then 22 | import it into the font where it’s needed.
23 | 24 |The imported text replaces everything in the selected window. Be sure this 25 | is what you want to do so you don’t lose data you want to keep.
26 | 27 |Get in the habit of saving your font just before importing text. That way, 28 | if you import the text but change your mind, you can close your font—but when 29 | prompted, don’t save the version with the imported text. Then you can open the 30 | font again and resume with the saved version.
31 | 32 |To replace the contents of a text-based window
33 | 34 |1. 35 | Save your work by clicking Save on the File menu, or pressing Ctrl + S.
36 | 37 |2. 38 | Select the window you want to replace with imported text by clicking on 39 | the window, choosing it in the View menu, or pressing its associated keyboard 40 | shortcut.
41 | 42 |3. 43 | From the Import submenu of the File menu, click Text.
44 | 45 |4. 46 | Locate and click the text file you want to import.
47 | 48 |5. 49 | Click Open.
50 | 51 | 52 | 53 | -------------------------------------------------------------------------------- /doc/help/html/06-01-05-ExportingText.htm: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 |You can export the contents of a text-based window and save it as a text 14 | file. Later, you can import that text file into another font or edit it with 15 | any text editor or word-processing software, such as WordPad or Microsoft Word. 16 |
17 | 18 |This is handy, for example, if you want to export the Font Error window and 19 | then send that text file as an e-mail attachment to another typographer. Or you 20 | may want to save your completed ‘cvt’ table—you could use it with other fonts 21 | in the same family, or you could name it CvtTmpl.txt and save it in the Visual 22 | TrueType folder as a template.
23 | 24 |To export a text-based window
25 | 26 |1. 27 | Select the window you want to export by clicking on the window, choosing 28 | it in the View menu, or pressing its associated keyboard shortcut.
29 | 30 |2. 31 | From the Export submenu of the File menu, click “Text from window”.
32 | 33 |3. 34 | Specify where you want to save the new file.
35 | 36 |4. 37 | Type the file name for the exported file.
38 | 39 |5. 40 | Click Save.
41 | 42 | 43 | 44 | -------------------------------------------------------------------------------- /doc/help/html/06-01-07-00-ModifyingCVT.htm: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 |The control value table (‘cvt’) contains values defining lengths, widths, 14 | and angles of glyph features. Some values are specific to certain glyphs. Other 15 | values apply to the entire font or a group of glyphs, such as all uppercase 16 | characters. All control values have an identification (ID) number, as well as 17 | an attribute providing information about the type of glyph or feature to which 18 | it pertains (for details, see “Reading ‘Cvt’ Entries”).
19 | 20 |Visual TrueType imports a template for the ‘cvt’ table when you prepare the 21 | font (see “Preparing the Open Font”). At any time, you can choose Control 22 | Values on theViews menu and modify the contents of that table three ways:
23 | 24 |Fill in the control values indicated in the template, then add your own ‘cvt’ 25 | entries starting with the next available ID number.
26 | 27 |Create the ‘cvt’ table from scratch by opening the Control Value window and 28 | replacing the template with entries you type (see “Editing Text”).
29 | 30 |Import a ‘cvt’ table from another font to replace the contents of the 31 | Control Value window (see “Importing Text”).
32 | 33 |All control values are in F-units scaled to the ppem height of the grid in 34 | use by the rasterizer.
35 | 36 | 37 | 38 | -------------------------------------------------------------------------------- /doc/help/html/06-01-07-01-AddingNewCVT.htm: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 |At any time, you can add a new entry to the ‘cvt’ table. You not only add 14 | the entry in the Control Value window, you also must define its ‘cvt’ 15 | attributes.
16 | 17 |Each ‘cvt’ entry has an identification (ID) number, which roughly 18 | corresponds to its line number in the table. You can add the new entry at the 19 | end of the table, starting with the next available ID number, or you add it 20 | between any non-consecutive ID numbers.
21 | 22 |You will have to type the ID number, the colon, the actual value in F-units, 23 | followed by the ‘cvt’ attribute (for details, see “Reading ‘Cvt’ Entries”). A 24 | typical entry would be:
25 | 26 |157: 0
27 | 28 |To add an entry to the ‘cvt’ table
29 | 30 |1. 31 | Select the Control Program window by choosing it from the Views menu or 32 | by pressing Ctrl + 4.
33 | 34 |2. 35 | In the Control Value window, click where you want to add the entry.
36 | 37 |3. 38 | Type the entry.
39 | 40 |4. 41 | Recompile the Control program by selecting CVT from the Compile submenu 42 | on the Tools menu, or press Ctrl + R.
43 | 44 | 45 | 46 | -------------------------------------------------------------------------------- /doc/help/html/06-01-07-02-ChangeCutIn.htm: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 |Only advanced users highly experienced with TrueType should consider 14 | changing the control value cut-in and similar settings in the pre-program 15 | table. If you don’t have considerable experience with TrueType, leave those 16 | settings intact.
17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /doc/help/html/06-01-08-Composites.htm: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 |If the ‘glyf’ table (that is, ‘glyf’ program) for a composite character like 14 | Å says “use my metrics,” you cannot use the Edit Metrics command (Ctrl + M) 15 | on the Edit menu to make changes. Instead, you must choose Glyph Program on the 16 | Views menu to display the ‘glyf’ table. There you can see which character the 17 | composite refers to. Then you can go to that character in the main window and 18 | edit its metrics.
19 | 20 |If the composite doesn’t say “use my metrics,” you can use the Edit Metrics 21 | command—but only to edit the advance width. Visual TrueType calculates the left 22 | side-bearing based on the way it puts together the composite.
23 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /doc/help/html/06-01-09-ImportingGlyph.htm: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 |Importing a glyph or character replaces the current glyph with the outline 14 | of a glyph from another font, plus all its hinting (its current VTT Talk and 15 | the TrueType tables).
16 | 17 |For example, you may want to start over on a particular glyph in a font. If 18 | you have a copy of an earlier version of the font, you can retrieve individual 19 | glyphs as needed.
20 | 21 |Or, you may not be sure whether to hint a certain character as a composite 22 | glyph or as individual glyphs. For example, the font designer may have used 23 | Fontographer to created the glyph as a composite, but you find that you can’t 24 | hint it correctly. You can go back to Fontographer and create the character as 25 | an individual glyph and import it into the font for hinting.
26 | 27 |Note If you import a composite character from a different font, the 28 | only change in the main window will be re-arrangement of the individual glyphs 29 | (that is, the components of the composite) according to the arrangement in the 30 | imported font.
31 | 32 |You can import any glyph from any font, as long as you know the correct 33 | glyph index number.
34 | 35 |To import a glyph or character
36 | 37 |1. 38 | In the main window (Ctrl + 1), go to the glyph you want to 39 | replace with a new glyph or character.
40 | 41 |2. 42 | Select import submenu of the File menu and choose Glyph, or press Ctrl + T.
43 | 44 |3. 45 | Locate and click the font that contains the glyph or character you want 46 | to import.
47 | 48 |4. 49 | In the Glyph Index text box, type the index number of the glyph.
50 | 51 |5. 52 | Click Import.
53 | 54 | 55 | 56 | -------------------------------------------------------------------------------- /doc/help/html/06-01-10-VTTalkWindow.htm: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 |The graphical interface does not offer all the commands of VTT Talk, either 14 | because the respective VTT Talk commands were seldom used or defy a graphical 15 | representation. For example, you can call a function from the Font Program, 16 | though there is no visual hinting command for this.
17 | 18 |Because these instructions can change the state of the rasterizer, VTT will 19 | lock down the visual hinting tools in the main window whenever you use 20 | instructions that cannot be represented by visual hints. However, VTT will 21 | still display graphical representations of all supported VTT Talk commands. In 22 | addition, you still can compile the VTT Talk window and print the hinted font 23 | to see the results of your work.
24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /doc/help/html/08-01-Autohinting.htm: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 |VTT includes an Autohinter for Latin fonts. This Autohinter makes use of a new lightweight hinting strategy that focuses on fitting common heights, such as x-height, Cap Height, Ascender, Descender to CVT heights. This strategy, takes advantage of Windows symmetric rendering modes and anchors these key heights to the grid, thereby maintaining consistency in heights across a font family. This method of grid-fitting also helps to reduce blur, and minimizes distortion.
16 | 17 |Follow these steps to Autohint a Latin font:
18 | 19 |20 | 21 |

1. 25 | Start Visual True Type.
26 | 27 |2. 28 | File > Open. Navigate to font file you would like to Autohint.
29 | 30 |3. 31 | Select Font File and Open.
32 | 33 |4. 34 | From the Tools menu, select Autohint > Light Latin Autohint.
35 | 36 |5. 37 | When Autohinting is complete choose Save from File Menu
38 | 39 | 40 |Note No Autohinter, including this one, is perfect; the intent is that this Autohinter works well enough for most glyphs. Autohinting for all glyphs in the font should be carefully checked and proofed, and certain glyphs may need to be re-hinted manually, either by using the Visual Hinting tools, or by editing the VTT talk. Please see the sample font VTTDemo.ttf, that ships with VTT as a reference on best practices for hinting.
41 | 42 | 43 | 44 | 45 | -------------------------------------------------------------------------------- /doc/help/html/08-02-EAAutohinting.htm: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 |VTT includes an Autohinter for East Asian fonts. This Autohinter makes use of a new lightweight hinting strategy that focuses on the horizontal strokes common in East Asian scripts. This strategy, takes advantage of Windows symmetric rendering modes and locks the bottom of strokes to the pixel grid while letting the top of strokes float, by using a ‘Shift’ command. This strategy balances edge contrast vs. blur and produces a good distribution of strokes with balanced counters. 17 |
18 | 19 |Note: When the East Asian autohinter is run, on an EA font, the Latin portion of the font will be automatically hinted using the same hinting stragety as used by the Light Latin Autohinter.
20 |Follow these steps to Autohint an East Asian font:
21 | 22 |23 | 24 |

1. 28 | Start Visual True Type.
29 | 30 |2. 31 | File > Open. Navigate to font file you would like to Autohint.
32 | 33 |3. 34 | Select Font File and Open.
35 | 36 |4. 37 | From the Tools menu, select Autohint > East Asian AutoHint.
38 | 39 |5. 40 | When Autohinting is complete choose Save from File Menu
41 | 42 | 43 |Note: This simpler automatically generated instruction set will allow for easier editing by a typographer. The intent is that the Autohinter works well enough for most glyphs, leaving a smaller percentage that will need manual touch-up. These fixes might include changes to fix symmetry or proportion issues. No Autohinter, method can produce perfect results. Extensive Proofing of the Automatically generated hints, is highly recommended before shipping a font file.
44 | 45 |Note: On complex fonts, the progress indictor may stop updating and the Autohinter may appear to have hung. Generally, the Autohinter is still running and will complete in just a few moments. As a time reference, Autohinting a 28,000 glyph Asian font on an average laptop takes just under one minute.
46 | 47 | 48 | 49 | 50 | 51 | -------------------------------------------------------------------------------- /doc/help/images/Anchors-HO-13ppem.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/Anchors-HO-13ppem.gif -------------------------------------------------------------------------------- /doc/help/images/Anchors-HO-14ppem.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/Anchors-HO-14ppem.gif -------------------------------------------------------------------------------- /doc/help/images/Anchors-HO-15ppem.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/Anchors-HO-15ppem.gif -------------------------------------------------------------------------------- /doc/help/images/Anchors-O-CVT.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/Anchors-O-CVT.gif -------------------------------------------------------------------------------- /doc/help/images/Anchors-O-NoCVT.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/Anchors-O-NoCVT.gif -------------------------------------------------------------------------------- /doc/help/images/CVTlist.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/CVTlist.gif -------------------------------------------------------------------------------- /doc/help/images/CVTlist.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/CVTlist.png -------------------------------------------------------------------------------- /doc/help/images/Cursor-Align.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/Cursor-Align.png -------------------------------------------------------------------------------- /doc/help/images/Cursor-Angle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/Cursor-Angle.png -------------------------------------------------------------------------------- /doc/help/images/Cursor-Measure.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/Cursor-Measure.png -------------------------------------------------------------------------------- /doc/help/images/Cursor-Navigate.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/Cursor-Navigate.png -------------------------------------------------------------------------------- /doc/help/images/Cursor-PtDelete.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/Cursor-PtDelete.png -------------------------------------------------------------------------------- /doc/help/images/Cursor-PtInsert.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/Cursor-PtInsert.png -------------------------------------------------------------------------------- /doc/help/images/Cursor-PtMove.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/Cursor-PtMove.png -------------------------------------------------------------------------------- /doc/help/images/Cursor-PtSwap.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/Cursor-PtSwap.png -------------------------------------------------------------------------------- /doc/help/images/Cursor-Stroke.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/Cursor-Stroke.png -------------------------------------------------------------------------------- /doc/help/images/Cursor-XDelta.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/Cursor-XDelta.png -------------------------------------------------------------------------------- /doc/help/images/Cursor-XInterpolate.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/Cursor-XInterpolate.png -------------------------------------------------------------------------------- /doc/help/images/Cursor-XLink.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/Cursor-XLink.png -------------------------------------------------------------------------------- /doc/help/images/Cursor-XMove.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/Cursor-XMove.png -------------------------------------------------------------------------------- /doc/help/images/Cursor-XShift.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/Cursor-XShift.png -------------------------------------------------------------------------------- /doc/help/images/Cursor-YDelta.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/Cursor-YDelta.png -------------------------------------------------------------------------------- /doc/help/images/Cursor-YInterpolate.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/Cursor-YInterpolate.png -------------------------------------------------------------------------------- /doc/help/images/Cursor-YLink.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/Cursor-YLink.png -------------------------------------------------------------------------------- /doc/help/images/Cursor-YMove.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/Cursor-YMove.png -------------------------------------------------------------------------------- /doc/help/images/Cursor-YShift.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/Cursor-YShift.png -------------------------------------------------------------------------------- /doc/help/images/Cursor-ZoomIn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/Cursor-ZoomIn.png -------------------------------------------------------------------------------- /doc/help/images/Cursor-ZoomOut.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/Cursor-ZoomOut.png -------------------------------------------------------------------------------- /doc/help/images/Defaultinstance.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/Defaultinstance.png -------------------------------------------------------------------------------- /doc/help/images/Display-Size-Other.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/Display-Size-Other.png -------------------------------------------------------------------------------- /doc/help/images/DisplayOptions-Color.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/DisplayOptions-Color.png -------------------------------------------------------------------------------- /doc/help/images/DisplayOptions-Glyph.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/DisplayOptions-Glyph.png -------------------------------------------------------------------------------- /doc/help/images/DisplayOptions-Resolution.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/DisplayOptions-Resolution.png -------------------------------------------------------------------------------- /doc/help/images/DisplayVariationView.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/DisplayVariationView.png -------------------------------------------------------------------------------- /doc/help/images/EAAutohinter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/EAAutohinter.png -------------------------------------------------------------------------------- /doc/help/images/Edit-CVTAttributes.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/Edit-CVTAttributes.png -------------------------------------------------------------------------------- /doc/help/images/Edit-GotoLine.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/Edit-GotoLine.png -------------------------------------------------------------------------------- /doc/help/images/Edit-Metrics.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/Edit-Metrics.png -------------------------------------------------------------------------------- /doc/help/images/Edit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/Edit.png -------------------------------------------------------------------------------- /doc/help/images/EditGasp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/EditGasp.png -------------------------------------------------------------------------------- /doc/help/images/EditGotoGlyph.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/EditGotoGlyph.png -------------------------------------------------------------------------------- /doc/help/images/Error-CircularDependency.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/Error-CircularDependency.png -------------------------------------------------------------------------------- /doc/help/images/Error-Extrapolation.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/Error-Extrapolation.png -------------------------------------------------------------------------------- /doc/help/images/FileOpen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/FileOpen.png -------------------------------------------------------------------------------- /doc/help/images/FileSaveAs.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/FileSaveAs.png -------------------------------------------------------------------------------- /doc/help/images/Find.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/Find.png -------------------------------------------------------------------------------- /doc/help/images/Followgasp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/Followgasp.png -------------------------------------------------------------------------------- /doc/help/images/Hinting-Outlines.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/Hinting-Outlines.gif -------------------------------------------------------------------------------- /doc/help/images/Hinting-Pixels.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/Hinting-Pixels.gif -------------------------------------------------------------------------------- /doc/help/images/IndicateCTAA.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/IndicateCTAA.png -------------------------------------------------------------------------------- /doc/help/images/IndicateGS.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/IndicateGS.png -------------------------------------------------------------------------------- /doc/help/images/Intermediate.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/Intermediate.png -------------------------------------------------------------------------------- /doc/help/images/LatinAuto.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/LatinAuto.png -------------------------------------------------------------------------------- /doc/help/images/Main-MeasureTool.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/Main-MeasureTool.png -------------------------------------------------------------------------------- /doc/help/images/MainWindow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/MainWindow.png -------------------------------------------------------------------------------- /doc/help/images/MeasureTool-Use.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/MeasureTool-Use.png -------------------------------------------------------------------------------- /doc/help/images/Minus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/Minus.png -------------------------------------------------------------------------------- /doc/help/images/MinusOne.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/MinusOne.png -------------------------------------------------------------------------------- /doc/help/images/Options-Appearance.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/Options-Appearance.png -------------------------------------------------------------------------------- /doc/help/images/Options-File Locations.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/Options-File Locations.png -------------------------------------------------------------------------------- /doc/help/images/Options-Settings.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/Options-Settings.png -------------------------------------------------------------------------------- /doc/help/images/Plusminusedit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/Plusminusedit.png -------------------------------------------------------------------------------- /doc/help/images/Print.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/Print.png -------------------------------------------------------------------------------- /doc/help/images/Rounding-1.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/Rounding-1.gif -------------------------------------------------------------------------------- /doc/help/images/Rounding-2.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/Rounding-2.gif -------------------------------------------------------------------------------- /doc/help/images/Rounding-3.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/Rounding-3.gif -------------------------------------------------------------------------------- /doc/help/images/Rounding-4.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/Rounding-4.gif -------------------------------------------------------------------------------- /doc/help/images/Rounding-5.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/Rounding-5.gif -------------------------------------------------------------------------------- /doc/help/images/Rounding-6.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/Rounding-6.gif -------------------------------------------------------------------------------- /doc/help/images/Rounding-X.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/Rounding-X.gif -------------------------------------------------------------------------------- /doc/help/images/Rounding-Y.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/Rounding-Y.gif -------------------------------------------------------------------------------- /doc/help/images/RoundingEx1-1.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/RoundingEx1-1.gif -------------------------------------------------------------------------------- /doc/help/images/RoundingEx1-2.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/RoundingEx1-2.gif -------------------------------------------------------------------------------- /doc/help/images/RoundingEx1-3.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/RoundingEx1-3.gif -------------------------------------------------------------------------------- /doc/help/images/RoundingEx1-4.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/RoundingEx1-4.gif -------------------------------------------------------------------------------- /doc/help/images/RoundingEx1-5.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/RoundingEx1-5.gif -------------------------------------------------------------------------------- /doc/help/images/RoundingEx1-6.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/RoundingEx1-6.gif -------------------------------------------------------------------------------- /doc/help/images/RoundingEx2-1.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/RoundingEx2-1.gif -------------------------------------------------------------------------------- /doc/help/images/RoundingEx2-2.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/RoundingEx2-2.gif -------------------------------------------------------------------------------- /doc/help/images/RoundingEx2-3.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/RoundingEx2-3.gif -------------------------------------------------------------------------------- /doc/help/images/Steps.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/Steps.png -------------------------------------------------------------------------------- /doc/help/images/ToolBarPlusMinus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/ToolBarPlusMinus.png -------------------------------------------------------------------------------- /doc/help/images/Toolbar-Align.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/Toolbar-Align.png -------------------------------------------------------------------------------- /doc/help/images/Toolbar-Changer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/Toolbar-Changer.png -------------------------------------------------------------------------------- /doc/help/images/Toolbar-Measure.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/Toolbar-Measure.png -------------------------------------------------------------------------------- /doc/help/images/Toolbar-Navigate.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/Toolbar-Navigate.png -------------------------------------------------------------------------------- /doc/help/images/Toolbar-PtAngle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/Toolbar-PtAngle.png -------------------------------------------------------------------------------- /doc/help/images/Toolbar-PtDelete.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/Toolbar-PtDelete.png -------------------------------------------------------------------------------- /doc/help/images/Toolbar-PtInsert.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/Toolbar-PtInsert.png -------------------------------------------------------------------------------- /doc/help/images/Toolbar-PtMove.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/Toolbar-PtMove.png -------------------------------------------------------------------------------- /doc/help/images/Toolbar-PtSwap.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/Toolbar-PtSwap.png -------------------------------------------------------------------------------- /doc/help/images/Toolbar-SizeRun.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/Toolbar-SizeRun.png -------------------------------------------------------------------------------- /doc/help/images/Toolbar-Snapshot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/Toolbar-Snapshot.png -------------------------------------------------------------------------------- /doc/help/images/Toolbar-Stroke.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/Toolbar-Stroke.png -------------------------------------------------------------------------------- /doc/help/images/Toolbar-XDelta.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/Toolbar-XDelta.png -------------------------------------------------------------------------------- /doc/help/images/Toolbar-XInter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/Toolbar-XInter.png -------------------------------------------------------------------------------- /doc/help/images/Toolbar-XLink.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/Toolbar-XLink.png -------------------------------------------------------------------------------- /doc/help/images/Toolbar-XMove.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/Toolbar-XMove.png -------------------------------------------------------------------------------- /doc/help/images/Toolbar-XShift.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/Toolbar-XShift.png -------------------------------------------------------------------------------- /doc/help/images/Toolbar-YDelta.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/Toolbar-YDelta.png -------------------------------------------------------------------------------- /doc/help/images/Toolbar-YInter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/Toolbar-YInter.png -------------------------------------------------------------------------------- /doc/help/images/Toolbar-YLink.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/Toolbar-YLink.png -------------------------------------------------------------------------------- /doc/help/images/Toolbar-YMove.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/Toolbar-YMove.png -------------------------------------------------------------------------------- /doc/help/images/Toolbar-YShift.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/Toolbar-YShift.png -------------------------------------------------------------------------------- /doc/help/images/Toolbar-ZoomIn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/Toolbar-ZoomIn.png -------------------------------------------------------------------------------- /doc/help/images/Toolbar-ZoomOut.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/Toolbar-ZoomOut.png -------------------------------------------------------------------------------- /doc/help/images/Toolbar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/Toolbar.png -------------------------------------------------------------------------------- /doc/help/images/ToolbarButtons.psd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/ToolbarButtons.psd -------------------------------------------------------------------------------- /doc/help/images/ToolsPrepare.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/ToolsPrepare.png -------------------------------------------------------------------------------- /doc/help/images/ToolsPrepareConfirm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/ToolsPrepareConfirm.png -------------------------------------------------------------------------------- /doc/help/images/ToolsShip.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/ToolsShip.png -------------------------------------------------------------------------------- /doc/help/images/VFMainWindow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/VFMainWindow.png -------------------------------------------------------------------------------- /doc/help/images/VFWindowSetup.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/VFWindowSetup.png -------------------------------------------------------------------------------- /doc/help/images/VarPlus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/VarPlus.png -------------------------------------------------------------------------------- /doc/help/images/VariationView.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/VariationView.png -------------------------------------------------------------------------------- /doc/help/images/bm100.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/bm100.gif -------------------------------------------------------------------------------- /doc/help/images/bm102.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/bm102.gif -------------------------------------------------------------------------------- /doc/help/images/bm103.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/bm103.gif -------------------------------------------------------------------------------- /doc/help/images/bm104.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/bm104.gif -------------------------------------------------------------------------------- /doc/help/images/bm105.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/bm105.gif -------------------------------------------------------------------------------- /doc/help/images/bm114.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/bm114.gif -------------------------------------------------------------------------------- /doc/help/images/bm115.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/bm115.gif -------------------------------------------------------------------------------- /doc/help/images/bm116.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/bm116.gif -------------------------------------------------------------------------------- /doc/help/images/bm117.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/bm117.gif -------------------------------------------------------------------------------- /doc/help/images/bm118.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/bm118.gif -------------------------------------------------------------------------------- /doc/help/images/bm119.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/bm119.gif -------------------------------------------------------------------------------- /doc/help/images/bm120.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/bm120.gif -------------------------------------------------------------------------------- /doc/help/images/bm121.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/bm121.gif -------------------------------------------------------------------------------- /doc/help/images/bm122.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/bm122.gif -------------------------------------------------------------------------------- /doc/help/images/bm123.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/bm123.gif -------------------------------------------------------------------------------- /doc/help/images/bm124.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/bm124.gif -------------------------------------------------------------------------------- /doc/help/images/bm125.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/bm125.gif -------------------------------------------------------------------------------- /doc/help/images/bm126.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/bm126.gif -------------------------------------------------------------------------------- /doc/help/images/bm127.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/bm127.gif -------------------------------------------------------------------------------- /doc/help/images/bm129.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/bm129.gif -------------------------------------------------------------------------------- /doc/help/images/bm130.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/bm130.gif -------------------------------------------------------------------------------- /doc/help/images/bm131.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/bm131.gif -------------------------------------------------------------------------------- /doc/help/images/bm132.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/bm132.gif -------------------------------------------------------------------------------- /doc/help/images/bm133.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/bm133.gif -------------------------------------------------------------------------------- /doc/help/images/bm134.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/bm134.gif -------------------------------------------------------------------------------- /doc/help/images/bm135.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/bm135.gif -------------------------------------------------------------------------------- /doc/help/images/bm138.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/bm138.gif -------------------------------------------------------------------------------- /doc/help/images/bm141.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/bm141.gif -------------------------------------------------------------------------------- /doc/help/images/bm144.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/bm144.gif -------------------------------------------------------------------------------- /doc/help/images/bm146.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/bm146.gif -------------------------------------------------------------------------------- /doc/help/images/bm147.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/bm147.gif -------------------------------------------------------------------------------- /doc/help/images/bm156.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/bm156.gif -------------------------------------------------------------------------------- /doc/help/images/bm157.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/bm157.gif -------------------------------------------------------------------------------- /doc/help/images/bm158.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/bm158.gif -------------------------------------------------------------------------------- /doc/help/images/bm159.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/bm159.gif -------------------------------------------------------------------------------- /doc/help/images/bm160.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/bm160.gif -------------------------------------------------------------------------------- /doc/help/images/bm3.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/bm3.gif -------------------------------------------------------------------------------- /doc/help/images/bm30.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/bm30.gif -------------------------------------------------------------------------------- /doc/help/images/bm31.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/bm31.gif -------------------------------------------------------------------------------- /doc/help/images/bm32.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/bm32.gif -------------------------------------------------------------------------------- /doc/help/images/bm33.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/bm33.gif -------------------------------------------------------------------------------- /doc/help/images/bm34.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/bm34.gif -------------------------------------------------------------------------------- /doc/help/images/bm35.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/bm35.gif -------------------------------------------------------------------------------- /doc/help/images/bm36.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/bm36.gif -------------------------------------------------------------------------------- /doc/help/images/bm37.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/bm37.gif -------------------------------------------------------------------------------- /doc/help/images/bm38.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/bm38.gif -------------------------------------------------------------------------------- /doc/help/images/bm39.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/bm39.gif -------------------------------------------------------------------------------- /doc/help/images/bm4.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/bm4.gif -------------------------------------------------------------------------------- /doc/help/images/bm40.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/bm40.gif -------------------------------------------------------------------------------- /doc/help/images/bm41.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/bm41.gif -------------------------------------------------------------------------------- /doc/help/images/bm42.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/bm42.gif -------------------------------------------------------------------------------- /doc/help/images/bm43.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/bm43.gif -------------------------------------------------------------------------------- /doc/help/images/bm44.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/bm44.gif -------------------------------------------------------------------------------- /doc/help/images/bm45.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/bm45.gif -------------------------------------------------------------------------------- /doc/help/images/bm46.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/bm46.gif -------------------------------------------------------------------------------- /doc/help/images/bm47.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/bm47.gif -------------------------------------------------------------------------------- /doc/help/images/bm48.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/bm48.gif -------------------------------------------------------------------------------- /doc/help/images/bm49.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/bm49.gif -------------------------------------------------------------------------------- /doc/help/images/bm5.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/bm5.gif -------------------------------------------------------------------------------- /doc/help/images/bm50.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/bm50.gif -------------------------------------------------------------------------------- /doc/help/images/bm51.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/bm51.gif -------------------------------------------------------------------------------- /doc/help/images/bm52.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/bm52.gif -------------------------------------------------------------------------------- /doc/help/images/bm53.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/bm53.gif -------------------------------------------------------------------------------- /doc/help/images/bm54.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/bm54.gif -------------------------------------------------------------------------------- /doc/help/images/bm55.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/bm55.gif -------------------------------------------------------------------------------- /doc/help/images/bm56.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/bm56.gif -------------------------------------------------------------------------------- /doc/help/images/bm57.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/bm57.gif -------------------------------------------------------------------------------- /doc/help/images/bm58.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/bm58.gif -------------------------------------------------------------------------------- /doc/help/images/bm59.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/bm59.gif -------------------------------------------------------------------------------- /doc/help/images/bm6.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/bm6.gif -------------------------------------------------------------------------------- /doc/help/images/bm60.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/bm60.gif -------------------------------------------------------------------------------- /doc/help/images/bm61.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/bm61.gif -------------------------------------------------------------------------------- /doc/help/images/bm62.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/bm62.gif -------------------------------------------------------------------------------- /doc/help/images/bm63.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/bm63.gif -------------------------------------------------------------------------------- /doc/help/images/bm64.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/bm64.gif -------------------------------------------------------------------------------- /doc/help/images/bm65.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/bm65.gif -------------------------------------------------------------------------------- /doc/help/images/bm66.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/bm66.gif -------------------------------------------------------------------------------- /doc/help/images/bm67.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/bm67.gif -------------------------------------------------------------------------------- /doc/help/images/bm68.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/bm68.gif -------------------------------------------------------------------------------- /doc/help/images/bm69.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/bm69.gif -------------------------------------------------------------------------------- /doc/help/images/bm7.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/bm7.gif -------------------------------------------------------------------------------- /doc/help/images/bm70.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/bm70.gif -------------------------------------------------------------------------------- /doc/help/images/bm71.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/bm71.gif -------------------------------------------------------------------------------- /doc/help/images/bm72.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/bm72.gif -------------------------------------------------------------------------------- /doc/help/images/bm73.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/bm73.gif -------------------------------------------------------------------------------- /doc/help/images/bm74.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/bm74.gif -------------------------------------------------------------------------------- /doc/help/images/bm75.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/bm75.gif -------------------------------------------------------------------------------- /doc/help/images/bm76.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/bm76.gif -------------------------------------------------------------------------------- /doc/help/images/bm77.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/bm77.gif -------------------------------------------------------------------------------- /doc/help/images/bm78.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/bm78.gif -------------------------------------------------------------------------------- /doc/help/images/bm79.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/bm79.gif -------------------------------------------------------------------------------- /doc/help/images/bm8.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/bm8.gif -------------------------------------------------------------------------------- /doc/help/images/bm80.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/bm80.gif -------------------------------------------------------------------------------- /doc/help/images/bm81.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/bm81.gif -------------------------------------------------------------------------------- /doc/help/images/bm82.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/bm82.gif -------------------------------------------------------------------------------- /doc/help/images/bm83.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/bm83.gif -------------------------------------------------------------------------------- /doc/help/images/bm84.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/bm84.gif -------------------------------------------------------------------------------- /doc/help/images/bm85.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/bm85.gif -------------------------------------------------------------------------------- /doc/help/images/bm86.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/bm86.gif -------------------------------------------------------------------------------- /doc/help/images/bm87.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/bm87.gif -------------------------------------------------------------------------------- /doc/help/images/bm88.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/bm88.gif -------------------------------------------------------------------------------- /doc/help/images/bm89.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/bm89.gif -------------------------------------------------------------------------------- /doc/help/images/bm9.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/bm9.gif -------------------------------------------------------------------------------- /doc/help/images/bm90.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/bm90.gif -------------------------------------------------------------------------------- /doc/help/images/bm91.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/bm91.gif -------------------------------------------------------------------------------- /doc/help/images/bm92.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/bm92.gif -------------------------------------------------------------------------------- /doc/help/images/bm93.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/bm93.gif -------------------------------------------------------------------------------- /doc/help/images/bm94.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/bm94.gif -------------------------------------------------------------------------------- /doc/help/images/bm95.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/bm95.gif -------------------------------------------------------------------------------- /doc/help/images/bm96.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/bm96.gif -------------------------------------------------------------------------------- /doc/help/images/bm97.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/bm97.gif -------------------------------------------------------------------------------- /doc/help/images/bm98.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/bm98.gif -------------------------------------------------------------------------------- /doc/help/images/bm99.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/bm99.gif -------------------------------------------------------------------------------- /doc/help/images/cvtonly.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/cvtonly.png -------------------------------------------------------------------------------- /doc/help/images/placeholder.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/images/placeholder.png -------------------------------------------------------------------------------- /doc/help/vtt.chm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/vtt.chm -------------------------------------------------------------------------------- /doc/help/vtt.chw: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/VisualTrueType/8f1ea6d59a6a7a888c91920d890c91551f86b5c9/doc/help/vtt.chw -------------------------------------------------------------------------------- /pypi.md: -------------------------------------------------------------------------------- 1 | # Project 2 | 3 | VTTCompilePy is a Python extension built using Cython. It provides streamlined bindings for 4 | various compilers from Visual TrueType. 5 | 6 | VTTCompilePy was developed to support a Python based font development environment. In addition to the Python interface, 7 | a command line interface is also installed. Usage is available with "vttcompilepy --help". 8 | 9 | ### Example 10 | 11 | ```python 12 | import sys 13 | from pathlib import Path 14 | import vttcompilepy as vtt 15 | 16 | TESTDATA = Path(__file__).parent / "data" 17 | IN_PATH = TESTDATA / "selawik-variable.ttf" 18 | OUT_PATH = TESTDATA / "out.ttf" 19 | 20 | print(bytes(IN_PATH)) 21 | 22 | print('VTTCompilePy Test Client') 23 | 24 | compiler = vtt.Compiler(IN_PATH) 25 | 26 | compiler.compile_all() 27 | 28 | compiler.save_font(OUT_PATH, vtt.StripLevel.STRIP_NOTHING) 29 | 30 | ``` 31 | 32 | ## Trademarks 33 | 34 | This project may contain trademarks or logos for projects, products, or services. Authorized use of Microsoft 35 | trademarks or logos is subject to and must follow 36 | [Microsoft's Trademark & Brand Guidelines](https://www.microsoft.com/en-us/legal/intellectualproperty/trademarks/usage/general). 37 | Use of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship. 38 | Any use of third-party trademarks or logos are subject to those third-party's policies. 39 | -------------------------------------------------------------------------------- /pyproject.toml: -------------------------------------------------------------------------------- 1 | [build-system] 2 | requires = [ 3 | "setuptools", 4 | "wheel", 5 | "cython", 6 | ] 7 | build-backend = "setuptools.build_meta" 8 | 9 | [tool.cibuildwheel] 10 | skip = ["*-manylinux_i686", "pp*"] 11 | 12 | test-requires = ["pytest", "fonttools"] 13 | test-command = "pytest {project}/tests" 14 | 15 | [tool.cibuildwheel.macos] 16 | archs = ["x86_64", "universal2", "arm64"] 17 | -------------------------------------------------------------------------------- /requirements-dev.txt: -------------------------------------------------------------------------------- 1 | cython>=0.29.1 2 | 3 | wheel>=0.31 4 | 5 | pytest 6 | 7 | fonttools 8 | 9 | setuptools 10 | 11 | -------------------------------------------------------------------------------- /setup.cfg: -------------------------------------------------------------------------------- 1 | [sdist] 2 | formats = zip 3 | 4 | [metadata] 5 | license_files = 6 | LICENSE.txt 7 | -------------------------------------------------------------------------------- /src/.clang-format: -------------------------------------------------------------------------------- 1 | --- 2 | BasedOnStyle: LLVM 3 | UseTab: Always 4 | TabWidth: 4 5 | IndentWidth: 4 6 | ColumnLimit: 0 7 | 8 | BreakBeforeBraces: Custom 9 | BraceWrapping: 10 | AfterClass: true 11 | AfterControlStatement: true 12 | AfterEnum: true 13 | AfterFunction: true 14 | AfterNamespace: true 15 | AfterStruct: true 16 | AfterUnion: true 17 | BeforeCatch: true 18 | BeforeElse: true 19 | --- 20 | Language: Cpp 21 | # Force pointers to the type for C++. 22 | DerivePointerAlignment: false 23 | PointerAlignment: Left 24 | NamespaceIndentation: All 25 | -------------------------------------------------------------------------------- /src/File.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) Microsoft Corporation. 2 | // Licensed under the MIT License. 3 | 4 | #pragma once 5 | 6 | class File 7 | { 8 | public: 9 | bool Error(void); 10 | 11 | explicit File(void); 12 | virtual ~File(void); 13 | virtual void OpenOld(const std::string &fileName); 14 | virtual void OpenNew(const std::string &fileName); 15 | virtual int32_t Length(void); 16 | virtual void SetPos(int32_t pos, bool truncate); 17 | virtual int32_t GetPos(void); 18 | virtual void ReadBytes(int32_t numBytes, void *buffer); 19 | virtual void ReadUnicode(int32_t *len, wchar_t **text); 20 | virtual void WriteBytes(int32_t numBytes, void *buffer); 21 | virtual void Close(bool truncate); 22 | private: 23 | bool m_error; 24 | void *m_hfile; 25 | std::string m_fileName; 26 | }; 27 | 28 | 29 | 30 | -------------------------------------------------------------------------------- /src/List.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) Microsoft Corporation. 2 | // Licensed under the MIT License. 3 | #include