フォーラム: M+ OUTLINE FONTS (スレッド #24043)

Windowsを使用している者です。 (2009-09-26 22:58 by 匿名 #46093)

M+ OUTLINE FONTS を全種類インストールしたのですが、私が持っているどのソフトでも、フォント選択画面には「M+ 1p」とか「M+ 2P」としか表示されません。詳細設定でthinやlight、mediumを選択してもregularに、heavyやblackを選択するとboldになってしまいます。7ウエイトのうちregularとboldしか使用できない状況です。

そこで、フォントファミリーにせず、各ウエイトがそれぞれ単独のフォントとして扱われるファイルの公開をご検討いただけませんか。または、どなたかWindows(XP)で7種のウエイトを扱う方法をご存じの方はいらっしゃいませんか。

メッセージ #46093 への返信×

Wiki文法は使えません
ログインしていません。投稿を区別するために投稿者のニックネームをつけてください(ニックネームの一意性は保証されません。全く別の人も同じ名前を利用することが可能ですので本人であることの特定には利用できません。本人であることを保証したい場合にはログインして投稿を行なってください)。 ログインする

RE: Windowsを使用している者です。 (2009-09-27 17:27 by coz #46102)

多ウエイトフォントの不具合は Windows の制約のようですね。他からも報告をいただいています。何らかの Windows 特有な仕様があるのかは分かりません。

各ウエイトごとに別個のフォントとして認識させるには、Fontforge などで fontname あたりを変更すれば良いと思います。ぜひお試しください。
#46093 への返信

メッセージ #46102 への返信×

Wiki文法は使えません
ログインしていません。投稿を区別するために投稿者のニックネームをつけてください(ニックネームの一意性は保証されません。全く別の人も同じ名前を利用することが可能ですので本人であることの特定には利用できません。本人であることを保証したい場合にはログインして投稿を行なってください)。 ログインする

Windows 環境での多ウエイトフォント展開 (2010-11-05 00:07 by mandel59 #53946)

http://mplus-fonts.sourceforge.jp/cgi-bin/blosxom.cgi/mplus_fonts/mplus_fonts-101020-2.html
フォントデータ内の Family 要素と Subfamily 要素の値を修正、PreferredFamily 要素と PreferredSubfamily 要素の記述を追加するパッチをつくりました。

diff --git a/set_fontnames.tmpl b/set_fontnames.tmpl
index abf949d..f40ab54 100644
--- a/set_fontnames.tmpl
+++ b/set_fontnames.tmpl
@@ -21,9 +21,10 @@ i++; endloop

SetFontNames(fontname, family, fullname, weight, copyright, version)
SetOS2Value("VendorID", "M+ ")
-SetTTFName(0x409, 1, Strsub(fullname, 0, Strlen(family)));
-SetTTFName(0x409, 2, weight);
+SetTTFName(0x409, 1, Strsub(fullname, 0, Strlen(family)) + " " + weight);
SetTTFName(0x409, 11, "http://mplus-fonts.sourceforge.jp");
+SetTTFName(0x409, 16, Strsub(fullname, 0, Strlen(family)));
+SetTTFName(0x409, 17, weight);

panose = [2, 11, 0, 2, 2, 2, 3, 2, 2, 7]
SetOS2Value("IBMFamily", 8 * 256 + 6)
@@ -33,31 +34,39 @@ if (weight == "black")
# SetOS2Value("fsSelection", 0x20)
# SetOS2Value("usWeightClass", 900)
SetMacStyle("Bold")
+ SetTTFName(0x409, 2, "Bold");
elseif (weight == "heavy")
panose[2] = 8; panose[3] = 2
# SetOS2Value("usWeightClass", 800)
# SetOS2Value("fsSelection", 0x20)
SetMacStyle("Bold")
+ SetTTFName(0x409, 2, "Bold");
elseif (weight == "bold")
panose[2] = 7; panose[3] = 2
# SetOS2Value("usWeightClass", 700)
# SetOS2Value("fsSelection", 0x20)
SetMacStyle("Bold")
+ SetTTFName(0x409, 2, "Bold");
elseif (weight == "medium")
panose[2] = 6; panose[3] = 2
# SetOS2Value("usWeightClass", 500)
+ SetTTFName(0x409, 2, "Regular");
elseif (weight == "regular")
panose[2] = 5; panose[3] = 2
# SetOS2Value("usWeightClass", 400)
# SetOS2Value("fsSelection", 0x02)
+ SetTTFName(0x409, 2, "Regular");
elseif (weight == "light")
panose[2] = 4; panose[3] = 3
# SetOS2Value("usWeightClass", 300)
+ SetTTFName(0x409, 2, "Regular");
elseif (weight == "thin")
panose[2] = 3; panose[3] = 3
# SetOS2Value("usWeightClass", 100)
+ SetTTFName(0x409, 2, "Regular");
else
panose[2] = 0; panose[3] = 0
+ SetTTFName(0x409, 2, "Regular");
endif

c = Strsub(family, Strlen(family)-1); if (c == "M" || c == 'm')
#46093 への返信

メッセージ #53946 への返信×

Wiki文法は使えません
ログインしていません。投稿を区別するために投稿者のニックネームをつけてください(ニックネームの一意性は保証されません。全く別の人も同じ名前を利用することが可能ですので本人であることの特定には利用できません。本人であることを保証したい場合にはログインして投稿を行なってください)。 ログインする

RE: Windows 環境での多ウエイトフォント展開 (2010-11-06 18:56 by coz #53967)

パッチのご提供ありがとうございます。
CVS 上で修正してみました。

http://mplus-fonts.sourceforge.jp/cgi-bin/blosxom.cgi/mplus_fonts/mplus_fonts-101106-2.html
#53946 への返信

メッセージ #53967 への返信×

Wiki文法は使えません
ログインしていません。投稿を区別するために投稿者のニックネームをつけてください(ニックネームの一意性は保証されません。全く別の人も同じ名前を利用することが可能ですので本人であることの特定には利用できません。本人であることを保証したい場合にはログインして投稿を行なってください)。 ログインする

Windows 環境での多ウエイトフォント展開 (2010-11-05 00:07 by mandel59 #53947)

http://mplus-fonts.sourceforge.jp/cgi-bin/blosxom.cgi/mplus_fonts/mplus_fonts-101020-2.html
フォントデータ内の Family 要素と Subfamily 要素の値を修正、PreferredFamily 要素と PreferredSubfamily 要素の記述を追加するパッチをつくりました。

diff --git a/set_fontnames.tmpl b/set_fontnames.tmpl
index abf949d..f40ab54 100644
--- a/set_fontnames.tmpl
+++ b/set_fontnames.tmpl
@@ -21,9 +21,10 @@ i++; endloop

SetFontNames(fontname, family, fullname, weight, copyright, version)
SetOS2Value("VendorID", "M+ ")
-SetTTFName(0x409, 1, Strsub(fullname, 0, Strlen(family)));
-SetTTFName(0x409, 2, weight);
+SetTTFName(0x409, 1, Strsub(fullname, 0, Strlen(family)) + " " + weight);
SetTTFName(0x409, 11, "http://mplus-fonts.sourceforge.jp");
+SetTTFName(0x409, 16, Strsub(fullname, 0, Strlen(family)));
+SetTTFName(0x409, 17, weight);

panose = [2, 11, 0, 2, 2, 2, 3, 2, 2, 7]
SetOS2Value("IBMFamily", 8 * 256 + 6)
@@ -33,31 +34,39 @@ if (weight == "black")
# SetOS2Value("fsSelection", 0x20)
# SetOS2Value("usWeightClass", 900)
SetMacStyle("Bold")
+ SetTTFName(0x409, 2, "Bold");
elseif (weight == "heavy")
panose[2] = 8; panose[3] = 2
# SetOS2Value("usWeightClass", 800)
# SetOS2Value("fsSelection", 0x20)
SetMacStyle("Bold")
+ SetTTFName(0x409, 2, "Bold");
elseif (weight == "bold")
panose[2] = 7; panose[3] = 2
# SetOS2Value("usWeightClass", 700)
# SetOS2Value("fsSelection", 0x20)
SetMacStyle("Bold")
+ SetTTFName(0x409, 2, "Bold");
elseif (weight == "medium")
panose[2] = 6; panose[3] = 2
# SetOS2Value("usWeightClass", 500)
+ SetTTFName(0x409, 2, "Regular");
elseif (weight == "regular")
panose[2] = 5; panose[3] = 2
# SetOS2Value("usWeightClass", 400)
# SetOS2Value("fsSelection", 0x02)
+ SetTTFName(0x409, 2, "Regular");
elseif (weight == "light")
panose[2] = 4; panose[3] = 3
# SetOS2Value("usWeightClass", 300)
+ SetTTFName(0x409, 2, "Regular");
elseif (weight == "thin")
panose[2] = 3; panose[3] = 3
# SetOS2Value("usWeightClass", 100)
+ SetTTFName(0x409, 2, "Regular");
else
panose[2] = 0; panose[3] = 0
+ SetTTFName(0x409, 2, "Regular");
endif

c = Strsub(family, Strlen(family)-1); if (c == "M" || c == 'm')
#46093 への返信

メッセージ #53947 への返信×

Wiki文法は使えません
ログインしていません。投稿を区別するために投稿者のニックネームをつけてください(ニックネームの一意性は保証されません。全く別の人も同じ名前を利用することが可能ですので本人であることの特定には利用できません。本人であることを保証したい場合にはログインして投稿を行なってください)。 ログインする