Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: Tehreer/SheenFigure
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: v1.1
Choose a base ref
...
head repository: Tehreer/SheenFigure
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: master
Choose a head ref
Loading
Showing with 8,526 additions and 39,808 deletions.
  1. +1 −1 .ci/libs.sh
  2. +1 −63 .gitattributes
  3. +0 −220 .gitignore
  4. +1 −1 .travis.yml
  5. +2 −2 Headers/SFAlbum.h
  6. +13 −1 Headers/SFArtist.h
  7. +19 −2 Headers/SFFont.h
  8. +21 −1 Headers/SFScheme.h
  9. +14 −15 Makefile
  10. +12 −8 README.md
  11. +232 −0 Source/ArabicEngine.c
  12. +8 −8 Source/{SFArabicEngine.h → ArabicEngine.h}
  13. +343 −0 Source/Common.h
  14. +9 −9 Source/{SFData.h → Data.h}
  15. +116 −0 Source/GDEF.h
  16. +270 −0 Source/GPOS.h
  17. +138 −0 Source/GSUB.h
  18. +95 −0 Source/GlyphDiscovery.c
  19. +4 −9 Source/{SFGlyphDiscovery.h → GlyphDiscovery.h}
  20. +535 −0 Source/GlyphManipulation.c
  21. +7 −6 Source/{SFGlyphManipulation.h → GlyphManipulation.h}
  22. +1,049 −0 Source/GlyphPositioning.c
  23. +6 −7 Source/{SFGlyphPositioning.h → GlyphPositioning.h}
  24. +368 −0 Source/GlyphSubstitution.c
  25. +5 −5 Source/{SFGlyphSubstitution.h → GlyphSubstitution.h}
  26. +26 −31 Source/{SFList.c → List.c}
  27. +116 −0 Source/List.h
  28. +382 −0 Source/Locator.c
  29. +141 −0 Source/Locator.h
  30. +488 −0 Source/OpenType.c
  31. +50 −0 Source/OpenType.h
  32. +163 −199 Source/SFAlbum.c
  33. +56 −47 Source/SFAlbum.h
  34. +0 −235 Source/SFArabicEngine.c
  35. +27 −17 Source/SFArtist.c
  36. +4 −4 Source/SFArtist.h
  37. +4 −4 Source/SFBase.c
  38. +17 −1 Source/SFBase.h
  39. +24 −7 Source/SFCodepoints.c
  40. +8 −3 Source/SFCodepoints.h
  41. +0 −253 Source/SFCommon.h
  42. +80 −31 Source/SFFont.c
  43. +14 −12 Source/SFFont.h
  44. +0 −82 Source/SFGDEF.h
  45. +0 −232 Source/SFGPOS.h
  46. +0 −98 Source/SFGSUB.h
  47. +0 −113 Source/SFGeneralCategory.h
  48. +0 −3,000 Source/SFGeneralCategoryLookup.c
  49. +0 −16 Source/SFGeneralCategoryLookup.h
  50. +0 −96 Source/SFGlyphDiscovery.c
  51. +0 −500 Source/SFGlyphManipulation.c
  52. +0 −1,169 Source/SFGlyphPositioning.c
  53. +0 −377 Source/SFGlyphSubstitution.c
  54. +76 −61 Source/SFJoiningTypeLookup.c
  55. +0 −113 Source/SFList.h
  56. +0 −262 Source/SFLocator.c
  57. +0 −102 Source/SFLocator.h
  58. +0 −163 Source/SFOpenType.c
  59. +0 −28 Source/SFOpenType.h
  60. +6 −9 Source/SFPattern.c
  61. +10 −5 Source/SFPattern.h
  62. +65 −31 Source/SFPatternBuilder.c
  63. +12 −11 Source/SFPatternBuilder.h
  64. +222 −147 Source/SFScheme.c
  65. +12 −17 Source/SFScheme.h
  66. +0 −97 Source/SFStandardEngine.c
  67. +0 −165 Source/SFTextProcessor.c
  68. +0 −47 Source/SFTextProcessor.h
  69. +0 −60 Source/SFUnifiedEngine.c
  70. +3 −4 Source/{SFShapingEngine.c → ShapingEngine.c}
  71. +4 −4 Source/{SFShapingEngine.h → ShapingEngine.h}
  72. +3 −4 Source/{SFShapingKnowledge.c → ShapingKnowledge.c}
  73. +28 −23 Source/{SFShapingKnowledge.h → ShapingKnowledge.h}
  74. +14 −15 Source/SheenFigure.c
  75. +103 −0 Source/StandardEngine.c
  76. +8 −8 Source/{SFStandardEngine.h → StandardEngine.h}
  77. +271 −0 Source/TextProcessor.c
  78. +58 −0 Source/TextProcessor.h
  79. +55 −0 Source/UnifiedEngine.c
  80. +12 −12 Source/{SFUnifiedEngine.h → UnifiedEngine.h}
  81. +67 −0 Source/Variations.h
  82. +0 −416 Tools/Generator/GeneralCategoryLookupGenerator.cpp
  83. +0 −93 Tools/Generator/GeneralCategoryLookupGenerator.h
  84. +71 −46 Tools/Generator/JoiningTypeLookupGenerator.cpp
  85. +3 −7 Tools/Generator/JoiningTypeLookupGenerator.h
  86. +0 −95 Tools/Generator/Utilities/GeneralCategoryDetector.cpp
  87. +0 −55 Tools/Generator/Utilities/GeneralCategoryDetector.h
  88. +0 −28 Tools/Generator/Utilities/Math.cpp
  89. +6 −24 Tools/Generator/main.cpp
  90. +1 −2 Tools/Parser/Makefile
  91. +0 −151 Tools/Parser/UnicodeData.cpp
  92. +0 −70 Tools/Parser/UnicodeData.h
  93. +227 −273 Tools/Tester/AlbumTester.cpp
  94. +2 −4 Tools/Tester/AlbumTester.h
  95. +47 −45 Tools/Tester/FontTester.cpp
  96. +0 −70 Tools/Tester/GeneralCategoryLookupTester.cpp
  97. +40 −0 Tools/Tester/GlyphPositioningTester.cpp
  98. +74 −1 Tools/Tester/GlyphSubstitutionTester.cpp
  99. +1 −1 Tools/Tester/JoiningTypeLookupTester.cpp
  100. +191 −191 Tools/Tester/ListTester.cpp
  101. +274 −274 Tools/Tester/LocatorTester.cpp
  102. +1 −1 Tools/Tester/Makefile
  103. +303 −0 Tools/Tester/MiscTester.cpp
  104. +12 −11 Tools/{Generator/Utilities/Math.h → Tester/MiscTester.h}
  105. +10 −1 Tools/Tester/OpenType/Base.h
  106. +426 −3 Tools/Tester/OpenType/Builder.cpp
  107. +36 −1 Tools/Tester/OpenType/Builder.h
  108. +133 −5 Tools/Tester/OpenType/Common.h
  109. +35 −1 Tools/Tester/OpenType/GSUB.h
  110. +153 −0 Tools/Tester/OpenType/Variations.h
  111. +100 −137 Tools/Tester/PatternTester.cpp
  112. +280 −109 Tools/Tester/SchemeTester.cpp
  113. +4 −1 Tools/Tester/SchemeTester.h
  114. +54 −104 Tools/Tester/TextProcessorTester.cpp
  115. +5 −2 Tools/Tester/TextProcessorTester.h
  116. +1 −49 Tools/Tester/Utilities/Convert.cpp
  117. +1 −3 Tools/Tester/Utilities/Convert.h
  118. +13 −13 Tools/Tester/{GeneralCategoryLookupTester.h → Utilities/General.h}
  119. +8 −8 Tools/Tester/Utilities/SFPattern+Testing.cpp
  120. +6 −10 Tools/Tester/main.cpp
  121. +110 −15 Tools/Unicode/ArabicShaping.txt
  122. +0 −29,215 Tools/Unicode/UnicodeData.txt
2 changes: 1 addition & 1 deletion .ci/libs.sh
Original file line number Diff line number Diff line change
@@ -6,6 +6,6 @@ mkdir $LIBRARIES_ROOT
rm -rf $SHEENBIDI_ROOT
mkdir $SHEENBIDI_ROOT

git clone https://github.com/mta452/SheenBidi $SHEENBIDI_ROOT
git clone https://github.com/Tehreer/SheenBidi $SHEENBIDI_ROOT
make -C $SHEENBIDI_ROOT
mv $SHEENBIDI_ROOT/Release/*.a $LIBRARIES_ROOT/
64 changes: 1 addition & 63 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -1,63 +1 @@
###############################################################################
# Set default behavior to automatically normalize line endings.
###############################################################################
* text=auto

###############################################################################
# Set default behavior for command prompt diff.
#
# This is need for earlier builds of msysgit that does not have it on by
# default for csharp files.
# Note: This is only used by command line
###############################################################################
#*.cs diff=csharp

###############################################################################
# Set the merge driver for project and solution files
#
# Merging from the command prompt will add diff markers to the files if there
# are conflicts (Merging from VS is not affected by the settings below, in VS
# the diff markers are never inserted). Diff markers may cause the following
# file extensions to fail to load in VS. An alternative would be to treat
# these files as binary and thus will always conflict and require user
# intervention with every merge. To do so, just uncomment the entries below
###############################################################################
#*.sln merge=binary
#*.csproj merge=binary
#*.vbproj merge=binary
#*.vcxproj merge=binary
#*.vcproj merge=binary
#*.dbproj merge=binary
#*.fsproj merge=binary
#*.lsproj merge=binary
#*.wixproj merge=binary
#*.modelproj merge=binary
#*.sqlproj merge=binary
#*.wwaproj merge=binary

###############################################################################
# behavior for image files
#
# image files are treated as binary by default.
###############################################################################
#*.jpg binary
#*.png binary
#*.gif binary

###############################################################################
# diff behavior for common document formats
#
# Convert binary document formats to text before diffing them. This feature
# is only available from the command line. Turn it on by uncommenting the
# entries below.
###############################################################################
#*.doc diff=astextplain
#*.DOC diff=astextplain
#*.docx diff=astextplain
#*.DOCX diff=astextplain
#*.dot diff=astextplain
#*.DOT diff=astextplain
#*.pdf diff=astextplain
#*.PDF diff=astextplain
#*.rtf diff=astextplain
#*.RTF diff=astextplain
Tools/* linguist-vendored
220 changes: 0 additions & 220 deletions .gitignore

This file was deleted.

2 changes: 1 addition & 1 deletion .travis.yml
Original file line number Diff line number Diff line change
@@ -20,4 +20,4 @@ script:
- bash .ci/libs.sh
- make
- make check
- if [ "$TRAVIS_OS_NAME" == "linux" -a "$CC" == "gcc" -a "$TRAVIS_REPO_SLUG" == "mta452/SheenFigure" ]; then coveralls -e $SHEENBIDI_ROOT -e Debug/Tester -e Debug/Parser; fi
- if [ "$TRAVIS_OS_NAME" == "linux" -a "$CC" == "gcc" -a "$TRAVIS_REPO_SLUG" == "Tehreer/SheenFigure" ]; then coveralls -e $SHEENBIDI_ROOT -e Debug/Tester -e Debug/Parser; fi
4 changes: 2 additions & 2 deletions Headers/SFAlbum.h
Original file line number Diff line number Diff line change
@@ -92,8 +92,8 @@ const SFAdvance *SFAlbumGetGlyphAdvancesPtr(SFAlbumRef album);
* sequence.
* - If multiple code units combine to make a single code point which in turn translates into
* multiple glyphs, then each code unit maps to the first glyph in the sequence.
* - If multiple code units translate to a single glyph or ligature, then each participating code
* unit, whether consecutive or not, maps to this glyph or ligature.
* - If nonconsecutive code units translate to a single glyph or ligature, then each participating
* code unit, and all in-between code units, map to this glyph or ligature.
*
* @param album
* The album from which to access the glyph map.
14 changes: 13 additions & 1 deletion Headers/SFArtist.h
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
* Copyright (C) 2016 Muhammad Tayyab Akram
* Copyright (C) 2015-2018 Muhammad Tayyab Akram
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -38,6 +38,18 @@ SFArtistRef SFArtistCreate(void);
*/
void SFArtistSetPattern(SFArtistRef artist, SFPatternRef pattern);

/**
* Sets the target ppem sizes which the artist will use to refine glyph positioning.
*
* @param artist
* The artist for which to set the ppem sizes.
* @param ppemWidth
* The target ppem width. If zero, it will be assumed same as the units per em of the font.
* @param ppemHeight
* The target ppem height. If zero, it will be assumed same as the units per em of the font.
*/
void SFArtistSetPPEMSizes(SFArtistRef artist, SFUInt16 ppemWidth, SFUInt16 ppemHeight);

/**
* Sets the source string which an artist will shape.
*
21 changes: 19 additions & 2 deletions Headers/SFFont.h
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
* Copyright (C) 2016 Muhammad Tayyab Akram
* Copyright (C) 2015-2018 Muhammad Tayyab Akram
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -108,12 +108,29 @@ typedef struct _SFFontProtocol {
* @param protocol
* A structure holding pointers to the implemented functions for this font.
* @param object
* An object associated with the font to identify it.
* An object associated with the created font to identify it.
* @return
* A reference to a font object if the call was successful, NULL otherwise.
*/
SFFontRef SFFontCreateWithProtocol(const SFFontProtocol *protocol, void *object);

/**
* Creates a variable font from the specified font instance. The derived font will share the
* protocol and resources of the parent font.
*
* @param font
* A font whose protocol and resources will be shared in the created font.
* @param object
* An object associated with the created font to identify it.
* @param coordArray
* An array of normalized variation coordinates in F2DOT14 format.
* @param coordCount
* The number of normalized variation coordinates in the passed-in array.
* @return
* A reference to a variable font object if the call was successful, NULL otherwise.
*/
SFFontRef SFFontCreateWithVariationCoordinates(SFFontRef font, void *object, const SFInt16 *coordArray, SFUInteger coordCount);

SFFontRef SFFontRetain(SFFontRef font);
void SFFontRelease(SFFontRef font);

Loading