1
0
Fork 0
mirror of https://github.com/adobe-fonts/source-sans.git synced 2024-12-26 14:16:03 +01:00

Checks in more updates from current shipping version of the fonts.

This commit is contained in:
Paul D. Hunt 2024-02-26 15:38:59 +11:00
parent b10bab0c41
commit a72f3bf66e
15 changed files with 120 additions and 88 deletions

14
.gitignore vendored
View file

@ -5,8 +5,12 @@ target
Source*.otf Source*.otf
Source*.ttf Source*.ttf
# ignore processed glyphs & hashmap in masters: # ignore background, processed glyphs & hashmap in masters.
*/*/*/master.ufo/glyphs.com.adobe.type.processedGlyphs # Unfortunately, it is not possible to entirely ignore layers, because
*/*/*/master.ufo/data/com.adobe.type.processedHashMap # tracebacks are thrown when the layer folders are missing.
*/*/*/master.ufo/layercontents.plist */Masters/*/master_*/*.ufo/glyphs.com.adobe.type.processedGlyphs/*.glif
*~ */Masters/*/master_*/*.ufo/glyphs.com.adobe.type.processedGlyphs/contents.plist
*/Masters/*/master_*/*.ufo/glyphs.background/*.glif
*/Masters/*/master_*/*.ufo/glyphs.background/contents.plist
*/Masters/*/master_*/*.ufo/data/com.adobe.type.processedHashMap

View file

@ -8,25 +8,17 @@
# ==================================================================== # ====================================================================
# Variable fonts # Variable fonts
[SourceSans3VF-Roman] [SourceSans3VF-Upright]
f=Source Sans 3 VF f=Source Sans 3 VF
s=Roman s=ExtraLight
[SourceSans3_Black]
f=Source Sans 3 VF
s=Roman Master 1
[SourceSans3VF-Italic] [SourceSans3VF-Italic]
f=Source Sans 3 VF f=Source Sans 3 VF
s=Italic s=ExtraLight Italic
[SourceSans3_Black-Italic]
f=Source Sans 3 VF
s=Italic Master 1
# ==================================================================== # ====================================================================
# Instance fonts # Instance fonts (statics)
[SourceSans3-ExtraLight] [SourceSans3-ExtraLight]
f=Source Sans 3 f=Source Sans 3
@ -64,6 +56,18 @@
l=Source Sans 3 l=Source Sans 3
m=1,Source Sans 3 Italic m=1,Source Sans 3 Italic
[SourceSans3-Medium]
f=Source Sans 3
s=Medium
l=Source Sans 3 Medium
m=1,Source Sans 3 Medium
[SourceSans3-MediumIt]
f=Source Sans 3
s=Medium Italic
l=Source Sans 3 Medium
m=1,Source Sans 3 Medium Italic
[SourceSans3-Semibold] [SourceSans3-Semibold]
f=Source Sans 3 f=Source Sans 3
s=Semibold s=Semibold

View file

@ -1,3 +1,3 @@
# inlcuded by /SourceSans3/featuresVar.fea # inlcuded by /SourceSans3/featuresVF.fea
nameid 25 "SourceSans3Italic"; nameid 25 "SourceSans3Italic";

View file

@ -1,4 +1,4 @@
Copyright 2010-2022 Adobe (http://www.adobe.com/), with Reserved Font Name 'Source'. All Rights Reserved. Source is a trademark of Adobe in the United States and/or other countries. Copyright 2010-2024 Adobe (http://www.adobe.com/), with Reserved Font Name 'Source'. All Rights Reserved. Source is a trademark of Adobe in the United States and/or other countries.
This Font Software is licensed under the SIL Open Font License, Version 1.1. This Font Software is licensed under the SIL Open Font License, Version 1.1.

19
Makefile.mk Executable file
View file

@ -0,0 +1,19 @@
#!/usr/bin/make
# -*- indent-tabs-mode: t; -*-
# by Al Nikolov <root@toor.fi.eu.org>
dnames = $(wildcard $(addsuffix /Instances/*,Upright Italic))
fnames = $(addsuffix .otf,$(addprefix /SourceSans3-,$(notdir $(dnames))))
wholenames = $(join $(dnames),$(fnames))
out_pat = -name \*.[ot]tf
all: $(wholenames)
clean:
find $(out_pat) | xargs ${RM}
.PHONY: all clean
.SECONDEXPANSION:
%.otf: $$(shell find $$(@D) ! $(out_pat))
cd $(@D) && makeotf -r -gs -omitMacNames

View file

@ -29,7 +29,7 @@ are generated with the `otf2ttf` and `ttfcomponentizer` tools.
Commands to build the Regular style OTF font: Commands to build the Regular style OTF font:
```sh ```sh
$ cd Roman/Instances/Regular/ $ cd Upright/Instances/Regular/
$ makeotf -r -gs -omitMacNames $ makeotf -r -gs -omitMacNames
``` ```
@ -72,7 +72,7 @@ $ ./buildVFs.sh
### Building with `make` ### Building with `make`
If you want to build directly from masters instead of the instances stored in If you want to build directly from UFO sources instead of the instances stored in
the repository, or to avoid building all files repetitively, run: the repository, or to avoid building all files repetitively, run:
```sh ```sh
@ -80,14 +80,14 @@ $ make
``` ```
and it will get everything up to date. To generate only the font.ufo instances and it will get everything up to date. To generate only the font.ufo instances
from the masters, run: from the UFO sources, run:
```sh ```sh
$ make instances $ make instances
``` ```
_Note: because font.ufo instances are stored in the repository, you may have to _Note: because font.ufo instances are stored in the repository, you may have to
delete them first from your working tree before building from masters; see delete them first from your working tree before building from UFO sources; see
below._ below._
To clean up `makeotf`'s defaults and other log files, run: To clean up `makeotf`'s defaults and other log files, run:

View file

@ -1,3 +1,3 @@
# inlcuded by /SourceSans3/featuresVar.fea # inlcuded by /SourceSans3/featuresVF.fea
nameid 25 "SourceSans3Roman"; nameid 25 "SourceSans3Upright";

View file

@ -2,8 +2,8 @@
setlocal setlocal
set FAMILY=SourceSans3 set FAMILY=SourceSans3
set ROMAN_WEIGHTS=Black Bold ExtraLight Light Regular Semibold set UPRIGHT_WEIGHTS=Black Bold ExtraLight Light Medium Regular Semibold
set ITALIC_WEIGHTS=BlackIt BoldIt ExtraLightIt LightIt It SemiboldIt set ITALIC_WEIGHTS=BlackIt BoldIt ExtraLightIt LightIt MediumIt It SemiboldIt
:: find makeotf :: find makeotf
for /f %%a in ('where makeotf') do set MAKEOTF_PATH=%%a for /f %%a in ('where makeotf') do set MAKEOTF_PATH=%%a
@ -19,13 +19,13 @@ if exist "%TARGET_PATH%" rmdir /s /q "%TARGET_PATH%"
mkdir "%TARGET_OTF_PATH%" mkdir "%TARGET_OTF_PATH%"
mkdir "%TARGET_TTF_PATH%" mkdir "%TARGET_TTF_PATH%"
set x=%ROMAN_WEIGHTS% set x=%UPRIGHT_WEIGHTS%
:loop_roman :loop_upright
for /f "tokens=1*" %%a in ("%x%") do ( for /f "tokens=1*" %%a in ("%x%") do (
call :build_font Roman %%a call :build_font Upright %%a
set x=%%b set x=%%b
) )
if defined x goto :loop_roman if defined x goto :loop_upright
set x=%ITALIC_WEIGHTS% set x=%ITALIC_WEIGHTS%
:loop_italic :loop_italic
@ -39,7 +39,7 @@ endlocal
goto :eof goto :eof
:: Build Font :: Build Font
:: %1 - Roman/Italic :: %1 - Upright/Italic
:: %2 - Weight :: %2 - Weight
:build_font :build_font
call makeotf -f "%~dp0\%1\Instances\%2\font.ufo" -r -o "%TARGET_OTF_PATH%\%FAMILY%-%2.otf" call makeotf -f "%~dp0\%1\Instances\%2\font.ufo" -r -o "%TARGET_OTF_PATH%\%FAMILY%-%2.otf"

View file

@ -3,8 +3,8 @@
set -e set -e
family=SourceSans3 family=SourceSans3
roman_weights=(Black Bold ExtraLight Light Regular Semibold) upright_weights=(Black Bold ExtraLight Light Medium Regular Semibold)
italic_weights=(BlackIt BoldIt ExtraLightIt LightIt It SemiboldIt) italic_weights=(BlackIt BoldIt ExtraLightIt LightIt MediumIt It SemiboldIt)
# get absolute path to bash script # get absolute path to bash script
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null && pwd )" DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null && pwd )"
@ -17,7 +17,7 @@ mkdir -p $otf_dir $ttf_dir
function build_font { function build_font {
# $1 is Roman or Italic # $1 is Upright or Italic
# $2 is weight name # $2 is weight name
font_dir=$DIR/$1/Instances/$2 font_dir=$DIR/$1/Instances/$2
font_ufo=$font_dir/font.ufo font_ufo=$font_dir/font.ufo
@ -41,9 +41,9 @@ function build_font {
} }
for w in ${roman_weights[@]} for w in ${upright_weights[@]}
do do
build_font Roman $w build_font Upright $w
done done

View file

@ -113,8 +113,8 @@
font-weight: 200 900; font-weight: 200 900;
font-style: normal; font-style: normal;
font-stretch: normal; font-stretch: normal;
src: url('WOFF2/SourceSans3VF-Roman.otf.woff2') format('woff2-variations'), src: url('WOFF2/SourceSans3VF-Upright.otf.woff2') format('woff2-variations'),
url('WOFF2/SourceSans3VF-Roman.ttf.woff2') format('woff2-variations'); url('WOFF2/SourceSans3VF-Upright.ttf.woff2') format('woff2-variations');
} }
@font-face{ @font-face{
font-family: 'Source Sans 3 VF'; font-family: 'Source Sans 3 VF';

View file

@ -77,6 +77,30 @@
@PUNCTUATION_SUPERIOR = [ parenleft.sups parenright.sups period.sups comma.sups ]; @PUNCTUATION_SUPERIOR = [ parenleft.sups parenright.sups period.sups comma.sups ];
@PUNCTUATION_INFERIOR = [ parenleft.subs parenright.subs period.subs comma.subs ]; @PUNCTUATION_INFERIOR = [ parenleft.subs parenright.subs period.subs comma.subs ];
#--------------------------------------
languagesystem DFLT dflt; # Default
languagesystem latn dflt; # Latin default
languagesystem latn ATH; # Athapaskan/Athabaskan
languagesystem latn AZE; # Azeri
languagesystem latn CHP; # Dënësųłınë́ (Chipewyan)
languagesystem latn CRT; # Crimean Tatar
languagesystem latn NAV; # NavajoDiné Bizaad
languagesystem latn NSM; # Northern Sami
languagesystem latn SKS; # Skolt Sami
languagesystem latn SLA; # South(?) Slavey
languagesystem latn TRK; # Turkish
languagesystem latn IPPH; # Phonetic transcription, IPA conventions
languagesystem latn APPH; # Phonetic transcription, Americanist conventions
languagesystem grek dflt; # Greek default
languagesystem grek PGR; # Polytonic Greek
languagesystem cyrl dflt; # Cyrillic default
languagesystem cyrl BGR; # Bulgarian
languagesystem cyrl MKD; # Macedonian
languagesystem cyrl SRB; # Serbian
#-------------------------------------- #--------------------------------------
lookup SUPERIOR_LETTERS_MINISCULE { lookup SUPERIOR_LETTERS_MINISCULE {

View file

@ -1,11 +1,11 @@
# inlcuded by /SourceSans3/features.fea # inlcuded by /SourceSans3/features.fea
# NOTE: For cross-platform consistency, OS/2.TypoAscender and |OS/2.TypoDescender| must add up to the font's UPM value # NOTE: For cross-platform consistency, OS/2.TypoAscender and |OS/2.TypoDescender| must add up to the font's UPM value
TypoAscender 1024; # Must be the same on all fonts for cross-platform consistency TypoAscender 1000; # Must be the same on all fonts for cross-platform consistency
TypoDescender -400; # Must be the same on all fonts for cross-platform consistency TypoDescender -326; # Must be the same on all fonts for cross-platform consistency
TypoLineGap 0; # Must be zero for cross-platform consistency TypoLineGap 0; # Must be zero for cross-platform consistency
winAscent 1024; # Must be the same on all fonts for cross-weight consistency winAscent 1000; # Must be the same on all fonts for cross-weight consistency
winDescent 400; # Must be the same on all fonts for cross-weight consistency winDescent 326; # Must be the same on all fonts for cross-weight consistency
CapHeight 660; CapHeight 660;
WidthClass 5; # Medium (normal) WidthClass 5; # Medium (normal)

View file

@ -1,14 +1,14 @@
# inlcuded by /SourceSans3/features.fea # inlcuded by /SourceSans3/features.fea
table head { table head {
FontRevision 3.042; FontRevision 3.052;
} head; } head;
table hhea { table hhea {
# NOTE: The OS/2.winAscent and OS/2.winDescent values are set by MakeOTF and vary depending on the font's bounding box # NOTE: The OS/2.winAscent and OS/2.winDescent values are set by MakeOTF and vary depending on the font's bounding box
Ascender 1024; # Must match OS/2.winAscent for cross-platform consistency Ascender 1000; # Must match OS/2.winAscent for cross-platform consistency
Descender -400; # Must match OS/2.winDescent for cross-platform consistency Descender -326; # Must match OS/2.winDescent for cross-platform consistency
LineGap 0; # Must be zero for cross-platform consistency LineGap 0; # Must be zero for cross-platform consistency
} hhea; } hhea;
@ -21,31 +21,3 @@ table BASE {
cyrl romn -170 0, cyrl romn -170 0,
DFLT romn -170 0; DFLT romn -170 0;
} BASE; } BASE;
#--------------------------------------
# languagesystem declarations:
languagesystem DFLT dflt; # Default
languagesystem latn dflt; # Latin default
languagesystem latn ATH; # Athapaskan/Athabaskan
languagesystem latn AZE; # Azeri
languagesystem latn CHP; # Dënësųłınë́ (Chipewyan)
languagesystem latn CRT; # Crimean Tatar
languagesystem latn NAV; # NavajoDiné Bizaad
languagesystem latn NSM; # Northern Sami
languagesystem latn SKS; # Skolt Sami
languagesystem latn SLA; # South(?) Slavey
languagesystem latn TRK; # Turkish
languagesystem latn IPPH; # Phonetic transcription, IPA conventions
languagesystem latn APPH; # Phonetic transcription, Americanist conventions
languagesystem grek dflt; # Greek default
languagesystem grek PGR; # Polytonic Greek
languagesystem cyrl dflt; # Cyrillic default
languagesystem cyrl BGR; # Bulgarian
languagesystem cyrl MKD; # Macedonian
languagesystem cyrl SRB; # Serbian

View file

@ -1,9 +1,9 @@
# inlcuded by /SourceSans3/features.fea # inlcuded by /SourceSans3/features.fea
# inlcuded by /SourceSans3/featuresVar.fea # inlcuded by /SourceSans3/featuresVF.fea
nameid 0 "© 2010 - 2021 Adobe Systems Incorporated (http://www.adobe.com/), with Reserved Font Name Source"; nameid 0 "© 2024 Adobe (http://www.adobe.com/), with Reserved Font Name Source";
nameid 7 "Source is a trademark of Adobe Systems Incorporated in the United States and/or other countries."; nameid 7 "Source is a trademark of Adobe in the United States and/or other countries.";
nameid 8 "Adobe Systems Incorporated"; nameid 8 "Adobe";
nameid 9 "Paul D. Hunt"; nameid 9 "Paul D. Hunt";
nameid 11 "http://www.adobe.com/type"; nameid 11 "http://www.adobe.com/type";
nameid 13 "This Font Software is licensed under the SIL Open Font License, Version 1.1. This license is available with a FAQ at: http://scripts.sil.org/OFL. This Font Software is distributed on an \2018AS IS\2019 BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the SIL Open Font License for the specific language, permissions and limitations governing your use of this Font Software."; nameid 13 "This Font Software is licensed under the SIL Open Font License, Version 1.1. This license is available with a FAQ at: http://scripts.sil.org/OFL. This Font Software is distributed on an \2018AS IS\2019 BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the SIL Open Font License for the specific language, permissions and limitations governing your use of this Font Software.";

View file

@ -1,3 +1,12 @@
version 3.052 created 2023/03/30
Adds Medium weight requested by user. (GitHub issue #253)
Updates the design of several glyphs to arrive at more compact vertical metrics.
version 3.046 created 2021/07/14
Corrects copyright notice. (GitHub issue #223)
version 3.042 created 2021/06/08 version 3.042 created 2021/06/08
Redesigns a majority of diacritics. Redesigns a majority of diacritics.
Assigns codepoint U+A7AE to I.a. (GitHub issue #211) Assigns codepoint U+A7AE to I.a. (GitHub issue #211)
@ -23,7 +32,7 @@ version 3.032 created 2021/02/11
LATIN SMALL LETTER UPSILON WITH STROKE (U+1D7F) LATIN SMALL LETTER UPSILON WITH STROKE (U+1D7F)
LATIN SMALL LETTER REVERSED R WITH FISHHOOK (U+027F) LATIN SMALL LETTER REVERSED R WITH FISHHOOK (U+027F)
LATIN SMALL LETTER SQUAT REVERSED ESH (U+0285) LATIN SMALL LETTER SQUAT REVERSED ESH (U+0285)
Fixes issue with phantom points in intermediate masters. (GitHub issue #198) Fixes issue with phantom points in intermediate UFO sources. (GitHub issue #198)
Fixes right sidebearing on LATIN SMALL LETTER OPEN E (U+025B). (GitHub issue #199) Fixes right sidebearing on LATIN SMALL LETTER OPEN E (U+025B). (GitHub issue #199)
Adds MODIFIER LETTER SMALL CAPITAL N (U+1DB0). (GitHub issue #202) Adds MODIFIER LETTER SMALL CAPITAL N (U+1DB0). (GitHub issue #202)
Adds Unicode values to superscript majuscules. (GitHub issue #202) Adds Unicode values to superscript majuscules. (GitHub issue #202)
@ -46,7 +55,7 @@ version 3.032 created 2021/02/11
version 3.028 created 2020/09/07 version 3.028 created 2020/09/07
Converts UFO masters to version 3. (GitHub issue #148) Converts UFO sources to version 3. (GitHub issue #148)
Adds IPA affricate ligature characters. (GitHub issue #174) Adds IPA affricate ligature characters. (GitHub issue #174)
LATIN SMALL LETTER DZ DIGRAPH (U+20A3) LATIN SMALL LETTER DZ DIGRAPH (U+20A3)
LATIN SMALL LETTER DZ DIGRAPH WITH CURL (U+02A5) LATIN SMALL LETTER DZ DIGRAPH WITH CURL (U+02A5)
@ -65,7 +74,7 @@ version 3.028 created 2020/09/07
version 3.006 created 2019/09/05 version 3.006 created 2019/09/05
Harmonizes glyph set between Roman and Italic styles (with the exception of small capitals) Harmonizes glyph set between Upright and Italic styles (with the exception of small capitals)
Adds Cyrillic and Greek to italic fonts (GitHub issue #87) Adds Cyrillic and Greek to italic fonts (GitHub issue #87)
Adds Bulgarian Cyrillic support to fonts (GitHub issue #104) Adds Bulgarian Cyrillic support to fonts (GitHub issue #104)
Adjusts the sizing of geometric shapes (GitHub issue #39) Adjusts the sizing of geometric shapes (GitHub issue #39)
@ -80,11 +89,11 @@ version 3.006 created 2019/09/05
Adds `lookupflag IgnoreMarks` to `kern` feature (GitHub issue #167) Adds `lookupflag IgnoreMarks` to `kern` feature (GitHub issue #167)
version 2.045(romans) & version 1.095 (italics) created 2019/01/11 version 2.045 (uprights) & version 1.095 (italics) created 2019/01/11
Fixes spacing and displaying issues in many TrueType composite glyphs. (GitHub issues #154 & #162) Fixes spacing and displaying issues in many TrueType composite glyphs. (GitHub issues #154 & #162)
version 2.040(romans) & version 1.090 (italics) created 2018/10/30 version 2.040 (uprights) & version 1.090 (italics) created 2018/10/30
Fixes hinting affecting DOLLAR SIGN (U+0024). (GitHub issue #43) Fixes hinting affecting DOLLAR SIGN (U+0024). (GitHub issue #43)
Improves IPA support, matching italics to uprights, adds some characters. (GitHub issue #44) Improves IPA support, matching italics to uprights, adds some characters. (GitHub issue #44)
@ -135,7 +144,7 @@ version 2.040(romans) & version 1.090 (italics) created 2018/10/30
Adds characters for TWO-EM DASH (U+2E3A) and THREE-EM DASH (U+2E3B). (GitHub issue #141) Adds characters for TWO-EM DASH (U+2E3A) and THREE-EM DASH (U+2E3B). (GitHub issue #141)
version 2.020(romans) & version 1.075 (italics) created 2015/08/31 version 2.020 (uprights) & version 1.075 (italics) created 2015/08/31
Changes vendor ID to 'ADBO'. (issue #52) Changes vendor ID to 'ADBO'. (issue #52)
Update NAME table to remove full license text from binary font files. Update NAME table to remove full license text from binary font files.
@ -143,7 +152,7 @@ version 2.020(romans) & version 1.075 (italics) created 2015/08/31
Removes NULL (u+0000) and CR (u+000D) glyphs from TrueType fonts. Removes NULL (u+0000) and CR (u+000D) glyphs from TrueType fonts.
version 2.015 (romans) & version 1.070 (italics) created 2015/08/25 version 2.015 (uprights) & version 1.070 (italics) created 2015/08/25
Updates RSB for quotedblbase and kerning for baseline quotes in italics. (issue #49) Updates RSB for quotedblbase and kerning for baseline quotes in italics. (issue #49)
Updates x-height measurements in all fonts. (issue #57) Updates x-height measurements in all fonts. (issue #57)
@ -151,13 +160,13 @@ version 2.015 (romans) & version 1.070 (italics) created 2015/08/25
version 2.010 created 2014/06/27 version 2.010 created 2014/06/27
[This release is Roman fonts only] [This release is Upright fonts only]
Fixed inconsistencies in several derived glyphs. Fixed inconsistencies in several derived glyphs.
version 2.005 created 2014/06/25 version 2.005 created 2014/06/25
[This release is Roman fonts only] [This release is Upright fonts only]
Fixed issue affecting composite glyphs with accents below in TrueType fonts. Fixed issue affecting composite glyphs with accents below in TrueType fonts.
@ -171,7 +180,7 @@ version 1.065 created 2014/06/25
version 2.000 created 2014/06/17 version 2.000 created 2014/06/17
[This release is Roman fonts only] [This release is Upright fonts only]
Geometric shapes were made larger. (GitHub issue #39) Geometric shapes were made larger. (GitHub issue #39)
Adds narrow no-break space [U+202F] (GitHub issue #30) Adds narrow no-break space [U+202F] (GitHub issue #30)
Updates kerning of small caps and adds small cap punctuation (GitHub issues #15 & #27) Updates kerning of small caps and adds small cap punctuation (GitHub issues #15 & #27)