Index | Thread | Search

From:
"Anthony J. Bentley" <bentley@openbsd.org>
Subject:
Re: new ports: fonts/adobe-fonts/source-han-*
To:
ports@openbsd.org
Date:
Sat, 28 Mar 2026 23:04:49 -0600

Download raw body.

Thread
Kirill A. Korinsky writes:
> I'd like to import adobe-fonts/source-han fonts family.

Very nice. Some comments:

- The ports rename the distfiles to add version numbers, but also drop
  other components of the filenames, so it's no longer obvious what
  upstream distfile they correspond to. I would preserve the upstream
  naming scheme, replacing this:

    SourceHanSans-${ADOBE_TAGNAME}{02_SourceHanSans-VF}.zip

  with this:

    02_SourceHanSans-VF-${ADOBE_TAGNAME}{02_SourceHanSans-VF}.zip

  But we can avoid renaming entirely by setting a versioned DIST_SUBDIR.
  That's usually clearer IMO, and it's particularly helpful in these
  ports since upstream provides 20+ distfiles each and choosing the
  right ones is extremely confusing.

- The ports only install the full-width fonts, but half-width should be
  installed as well.

- The ports only install variable fonts. A while back I dropped static
  fonts from noto-cjk in favor of variable fonts, but I'm starting to
  feel that was a mistake: variable fonts render differently and have a
  different family name in fc-list, so I think we should install both.
  Luckily, if we switch the variable fonts to TTC the resulting package
  is smaller, even adding the static TTC, than a package with variable
  TTF/OTF and no static fonts.

- The web packages should install the subsetted fonts too. The package
  gets bigger but provides individual files that are smaller, useful
  in a web context.

Here's a diff against the version you sent, with which it's ok bentley@:


blob - 2ea94bf49b118d382b20c2435d18ee65d2a1640f
blob + 62f7cc3e762b2fa048a195f7ce86754a17f8e865
--- fonts/adobe-fonts/source-han-mono/Makefile
+++ fonts/adobe-fonts/source-han-mono/Makefile
@@ -5,12 +5,13 @@ ADOBE_TAGNAME =		${MODFONT_VERSION}
 
 MODFONT_VERSION =	1.002
 
-DISTFILES =		SourceHanMono-${ADOBE_TAGNAME}{SourceHanMono}.ttc
+DIST_SUBDIR =		adobe-fonts/source-han-mono-${ADOBE_TAGNAME}
+DISTFILES =		SourceHanMono.ttc
 EXTRACT_ONLY=
 
 MODFONT_FONTFILES =	*.ttc
 
 do-extract:
-	cp ${FULLDISTDIR}/${ALL_DISTFILES} ${WRKDIST}/SourceHanMono.ttc
+	cp ${FULLDISTDIR}/${ALL_DISTFILES} ${WRKDIST}
 
 .include <bsd.port.mk>
blob - dfeb27cead0540e907585ff3384ff88865ae8bb6
blob + 1de3491ef1626d3293576377610e77ba4b8c4a06
--- fonts/adobe-fonts/source-han-mono/distinfo
+++ fonts/adobe-fonts/source-han-mono/distinfo
@@ -1,2 +1,2 @@
-SHA256 (adobe-fonts/SourceHanMono-1.002.ttc) = DBkkSN6QhI8R64M2h2iDqaNtxluJZeSJYAz8x6ZzWME=
-SIZE (adobe-fonts/SourceHanMono-1.002.ttc) = 122117628
+SHA256 (adobe-fonts/source-han-mono-1.002/SourceHanMono.ttc) = DBkkSN6QhI8R64M2h2iDqaNtxluJZeSJYAz8x6ZzWME=
+SIZE (adobe-fonts/source-han-mono-1.002/SourceHanMono.ttc) = 122117628
blob - a9041504eb846fc39a9b81693bb9ca466dca4c97
blob + 7b035740aa40e932a35d82af1080e8af8da507dd
--- fonts/adobe-fonts/source-han-sans/Makefile
+++ fonts/adobe-fonts/source-han-sans/Makefile
@@ -8,10 +8,13 @@ MULTI_PACKAGES =	-main -web
 
 MODFONT_VERSION =	2.005
 
-DISTFILES =		SourceHanSans-${ADOBE_TAGNAME}{02_SourceHanSans-VF}.zip
+DIST_SUBDIR =		adobe-fonts/source-han-sans-${ADOBE_TAGNAME}
+DISTFILES =		01_SourceHanSans.ttc.zip \
+			02_SourceHanSans-VF.zip
 
-MODFONT_FONTFILES =	Variable/TTF/*.ttf \
-			Variable/OTF/*.otf
-MODFONT_WEBFILES =	Variable/WOFF2/*/*.woff2
+MODFONT_FONTFILES =	*.ttc \
+			Variable/OTC/*.ttc
+MODFONT_WEBFILES =	Variable/WOFF2/*/*.woff2 \
+			Variable/WOFF2/*/*/*.woff2
 
 .include <bsd.port.mk>
blob - 939ae08f312fc119a436f33cb070f29f7871db61
blob + 7820639832cc04acd3a22252877dc169ebdae869
--- fonts/adobe-fonts/source-han-sans/distinfo
+++ fonts/adobe-fonts/source-han-sans/distinfo
@@ -1,2 +1,4 @@
-SHA256 (adobe-fonts/SourceHanSans-2.005R.zip) = 5ZROpyU4eECSMvH/rUZOnpOHnAIH6vKWC7oyfu+J7YE=
-SIZE (adobe-fonts/SourceHanSans-2.005R.zip) = 888816761
+SHA256 (adobe-fonts/source-han-sans-2.005R/01_SourceHanSans.ttc.zip) = oCTPF1lJSEfNR6rkN5vLPcUwAXxwnz9QPuDtkY3ZKVI=
+SHA256 (adobe-fonts/source-han-sans-2.005R/02_SourceHanSans-VF.zip) = 5ZROpyU4eECSMvH/rUZOnpOHnAIH6vKWC7oyfu+J7YE=
+SIZE (adobe-fonts/source-han-sans-2.005R/01_SourceHanSans.ttc.zip) = 95833687
+SIZE (adobe-fonts/source-han-sans-2.005R/02_SourceHanSans-VF.zip) = 888816761
blob - a50d159ed8555af8fd29899a077150a47c3e58a0
blob + 52344d82056e3dde81f7547f5ddf39d43b0bde8b
--- fonts/adobe-fonts/source-han-sans/pkg/PLIST-main
+++ fonts/adobe-fonts/source-han-sans/pkg/PLIST-main
@@ -1,12 +1,7 @@
 share/fonts/
 @fontdir share/fonts/adobe-source-han-sans/
-share/fonts/adobe-source-han-sans/SourceHanSans-VF.otf
-share/fonts/adobe-source-han-sans/SourceHanSans-VF.ttf
-share/fonts/adobe-source-han-sans/SourceHanSansHC-VF.otf
-share/fonts/adobe-source-han-sans/SourceHanSansHC-VF.ttf
-share/fonts/adobe-source-han-sans/SourceHanSansK-VF.otf
-share/fonts/adobe-source-han-sans/SourceHanSansK-VF.ttf
-share/fonts/adobe-source-han-sans/SourceHanSansSC-VF.otf
-share/fonts/adobe-source-han-sans/SourceHanSansSC-VF.ttf
-share/fonts/adobe-source-han-sans/SourceHanSansTC-VF.otf
-share/fonts/adobe-source-han-sans/SourceHanSansTC-VF.ttf
+share/fonts/adobe-source-han-sans/SourceHanSans-VF.otf.ttc
+share/fonts/adobe-source-han-sans/SourceHanSans-VF.ttf.ttc
+share/fonts/adobe-source-han-sans/SourceHanSans.ttc
+share/fonts/adobe-source-han-sans/SourceHanSansHW-VF.otf.ttc
+share/fonts/adobe-source-han-sans/SourceHanSansHW-VF.ttf.ttc
blob - 4ba32ebd10c65e634ad3929b56ce50d00e798243
blob + 564e7aa785d76524dae8f04519cb9eb0858c17f0
--- fonts/adobe-fonts/source-han-sans/pkg/PLIST-web
+++ fonts/adobe-fonts/source-han-sans/pkg/PLIST-web
@@ -2,11 +2,31 @@ fonts/
 fonts/adobe-source-han-sans/
 fonts/adobe-source-han-sans/SourceHanSans-VF.otf.woff2
 fonts/adobe-source-han-sans/SourceHanSans-VF.ttf.woff2
+fonts/adobe-source-han-sans/SourceHanSansCN-VF.otf.woff2
+fonts/adobe-source-han-sans/SourceHanSansCN-VF.ttf.woff2
 fonts/adobe-source-han-sans/SourceHanSansHC-VF.otf.woff2
 fonts/adobe-source-han-sans/SourceHanSansHC-VF.ttf.woff2
+fonts/adobe-source-han-sans/SourceHanSansHK-VF.otf.woff2
+fonts/adobe-source-han-sans/SourceHanSansHK-VF.ttf.woff2
+fonts/adobe-source-han-sans/SourceHanSansHW-VF.otf.woff2
+fonts/adobe-source-han-sans/SourceHanSansHW-VF.ttf.woff2
+fonts/adobe-source-han-sans/SourceHanSansHWHC-VF.otf.woff2
+fonts/adobe-source-han-sans/SourceHanSansHWHC-VF.ttf.woff2
+fonts/adobe-source-han-sans/SourceHanSansHWK-VF.otf.woff2
+fonts/adobe-source-han-sans/SourceHanSansHWK-VF.ttf.woff2
+fonts/adobe-source-han-sans/SourceHanSansHWSC-VF.otf.woff2
+fonts/adobe-source-han-sans/SourceHanSansHWSC-VF.ttf.woff2
+fonts/adobe-source-han-sans/SourceHanSansHWTC-VF.otf.woff2
+fonts/adobe-source-han-sans/SourceHanSansHWTC-VF.ttf.woff2
+fonts/adobe-source-han-sans/SourceHanSansJP-VF.otf.woff2
+fonts/adobe-source-han-sans/SourceHanSansJP-VF.ttf.woff2
 fonts/adobe-source-han-sans/SourceHanSansK-VF.otf.woff2
 fonts/adobe-source-han-sans/SourceHanSansK-VF.ttf.woff2
+fonts/adobe-source-han-sans/SourceHanSansKR-VF.otf.woff2
+fonts/adobe-source-han-sans/SourceHanSansKR-VF.ttf.woff2
 fonts/adobe-source-han-sans/SourceHanSansSC-VF.otf.woff2
 fonts/adobe-source-han-sans/SourceHanSansSC-VF.ttf.woff2
 fonts/adobe-source-han-sans/SourceHanSansTC-VF.otf.woff2
 fonts/adobe-source-han-sans/SourceHanSansTC-VF.ttf.woff2
+fonts/adobe-source-han-sans/SourceHanSansTW-VF.otf.woff2
+fonts/adobe-source-han-sans/SourceHanSansTW-VF.ttf.woff2
blob - e5b2a83e25565f582c9fdddd8004ca26625bdfaa
blob + 52d5d55067301b77f092c90e55854f87c38822c1
--- fonts/adobe-fonts/source-han-serif/Makefile
+++ fonts/adobe-fonts/source-han-serif/Makefile
@@ -8,10 +8,13 @@ MULTI_PACKAGES =	-main -web
 
 MODFONT_VERSION =	2.003
 
-DISTFILES =		SourceHanSerif-${ADOBE_TAGNAME}{02_SourceHanSerif-VF}.zip
+DIST_SUBDIR =		adobe-fonts/source-han-serif-${ADOBE_TAGNAME}
+DISTFILES =		01_SourceHanSerif.ttc.zip \
+			02_SourceHanSerif-VF.zip
 
-MODFONT_FONTFILES =	Variable/TTF/*.ttf \
-			Variable/OTF/*.otf
-MODFONT_WEBFILES =	Variable/WOFF2/*/*.woff2
+MODFONT_FONTFILES =	*.ttc \
+			Variable/OTC/*.ttc
+MODFONT_WEBFILES =	Variable/WOFF2/*/*.woff2 \
+			Variable/WOFF2/*/*/*.woff2
 
 .include <bsd.port.mk>
blob - ebff2302017499f6a7b3d089b08cad377a9559ac
blob + 6ff55735badf8da439c27a018a5ff4ffdde20930
--- fonts/adobe-fonts/source-han-serif/distinfo
+++ fonts/adobe-fonts/source-han-serif/distinfo
@@ -1,2 +1,4 @@
-SHA256 (adobe-fonts/SourceHanSerif-2.003R.zip) = hmCNTBFi+AovJgWnDT8gcnZGCVmCce446yTqHqoi2sg=
-SIZE (adobe-fonts/SourceHanSerif-2.003R.zip) = 750817685
+SHA256 (adobe-fonts/source-han-serif-2.003R/01_SourceHanSerif.ttc.zip) = buaJq1eJSuNa9gSnPpXDcr2gMGYQ/6F5pHCOjNR6eV8=
+SHA256 (adobe-fonts/source-han-serif-2.003R/02_SourceHanSerif-VF.zip) = hmCNTBFi+AovJgWnDT8gcnZGCVmCce446yTqHqoi2sg=
+SIZE (adobe-fonts/source-han-serif-2.003R/01_SourceHanSerif.ttc.zip) = 138703713
+SIZE (adobe-fonts/source-han-serif-2.003R/02_SourceHanSerif-VF.zip) = 750817685
blob - 8b59267170cd018dbf38879bb8ec8f1de49cc22c
blob + b372d7e07fd9716c8117fa1f13164496d1e2ac84
--- fonts/adobe-fonts/source-han-serif/pkg/PLIST-main
+++ fonts/adobe-fonts/source-han-serif/pkg/PLIST-main
@@ -1,12 +1,5 @@
 share/fonts/
 @fontdir share/fonts/adobe-source-han-serif/
-share/fonts/adobe-source-han-serif/SourceHanSerif-VF.otf
-share/fonts/adobe-source-han-serif/SourceHanSerif-VF.ttf
-share/fonts/adobe-source-han-serif/SourceHanSerifHC-VF.otf
-share/fonts/adobe-source-han-serif/SourceHanSerifHC-VF.ttf
-share/fonts/adobe-source-han-serif/SourceHanSerifK-VF.otf
-share/fonts/adobe-source-han-serif/SourceHanSerifK-VF.ttf
-share/fonts/adobe-source-han-serif/SourceHanSerifSC-VF.otf
-share/fonts/adobe-source-han-serif/SourceHanSerifSC-VF.ttf
-share/fonts/adobe-source-han-serif/SourceHanSerifTC-VF.otf
-share/fonts/adobe-source-han-serif/SourceHanSerifTC-VF.ttf
+share/fonts/adobe-source-han-serif/SourceHanSerif-VF.otf.ttc
+share/fonts/adobe-source-han-serif/SourceHanSerif-VF.ttf.ttc
+share/fonts/adobe-source-han-serif/SourceHanSerif.ttc
blob - 309ba33639a3a42a2036ad8afb888ed6f2305db0
blob + 23164a404bdb951f27530144d91594f07b61fe10
--- fonts/adobe-fonts/source-han-serif/pkg/PLIST-web
+++ fonts/adobe-fonts/source-han-serif/pkg/PLIST-web
@@ -2,11 +2,21 @@ fonts/
 fonts/adobe-source-han-serif/
 fonts/adobe-source-han-serif/SourceHanSerif-VF.otf.woff2
 fonts/adobe-source-han-serif/SourceHanSerif-VF.ttf.woff2
+fonts/adobe-source-han-serif/SourceHanSerifCN-VF.otf.woff2
+fonts/adobe-source-han-serif/SourceHanSerifCN-VF.ttf.woff2
 fonts/adobe-source-han-serif/SourceHanSerifHC-VF.otf.woff2
 fonts/adobe-source-han-serif/SourceHanSerifHC-VF.ttf.woff2
+fonts/adobe-source-han-serif/SourceHanSerifHK-VF.otf.woff2
+fonts/adobe-source-han-serif/SourceHanSerifHK-VF.ttf.woff2
+fonts/adobe-source-han-serif/SourceHanSerifJP-VF.otf.woff2
+fonts/adobe-source-han-serif/SourceHanSerifJP-VF.ttf.woff2
 fonts/adobe-source-han-serif/SourceHanSerifK-VF.otf.woff2
 fonts/adobe-source-han-serif/SourceHanSerifK-VF.ttf.woff2
+fonts/adobe-source-han-serif/SourceHanSerifKR-VF.otf.woff2
+fonts/adobe-source-han-serif/SourceHanSerifKR-VF.ttf.woff2
 fonts/adobe-source-han-serif/SourceHanSerifSC-VF.otf.woff2
 fonts/adobe-source-han-serif/SourceHanSerifSC-VF.ttf.woff2
 fonts/adobe-source-han-serif/SourceHanSerifTC-VF.otf.woff2
 fonts/adobe-source-han-serif/SourceHanSerifTC-VF.ttf.woff2
+fonts/adobe-source-han-serif/SourceHanSerifTW-VF.otf.woff2
+fonts/adobe-source-han-serif/SourceHanSerifTW-VF.ttf.woff2