🧢

SwiftUIのFontの smallCaps() lowercaseSmallCaps() uppercaseSmallCaps()

2023/11/23に公開

はじめに

SwiftUIのFontの

  • smallCaps()
  • lowercaseSmallCaps()
  • uppercaseSmallCaps()

は名前から挙動が想像できなくて、実行してみても英語の説明を読んでも、意味がわかりにくいのでここにまとめる。

説明をするときの表記の仕方

各モディファイアの挙動を次のように表にする

適用前 適用後の字の大きさ 適用後の字の形
大文字(A)
小文字(a)

適用後の項目は「字の大きさ」と「字の形」がある。
字の大きさというのは 大文字の大きさか小文字の大きさかということ。
字の形というのは形が Aa かということ。
表の中で特徴的なところを【】で囲む。

1は、大きさが大文字で形がA
2は、大きさが小文字で形がA
3は、大きさが大文字で形がa(出てこないがこの説明のために作成した)
4は、大きさが小文字で形がa

検証ソースコード

アルファベットが大きいか小さいかわかるように日本語の を付けた。

 Text("あ AaA aAa")
     .font(.largeTitle)
 Text("あ AaA aAa")
     .font(.largeTitle.smallCaps())
 Text("あ AaA aAa")
     .font(.largeTitle.lowercaseSmallCaps())
 Text("あ AaA aAa")
     .font(.largeTitle.uppercaseSmallCaps())

一番上のものはこう表示される。

準備が出来たので解説する。

smallCaps()

 Text("あ AaA aAa")
     .font(.largeTitle.smallCaps())

適用前 適用後の字の大きさ 適用後の字の形
大文字(A) 【小文字】 A
小文字(a) 小文字 【A】

大きさは小さく、形は大文字の形。

lowercaseSmallCaps()

 Text("あ AaA aAa")
     .font(.largeTitle.lowercaseSmallCaps())

適用前 適用後の字の大きさ 適用後の字の形
大文字(A) 大文字 A
小文字(a) 小文字 【A】

小文字を、そのままの大きさで大文字の形にする。

uppercaseSmallCaps()

 Text("あ AaA aAa")
     .font(.largeTitle.uppercaseSmallCaps())

適用前 適用後の字の大きさ 適用後の字の形
大文字(A) 【小文字】 A
小文字(a) 小文字 a

大文字を、小文字の大きさにして、形はそのまま。

モディファイアのネーミングについて

どうもCapsは「大文字の形」の意味らしい。

smallCaps -> 小さな「大文字の形」へ
lowercaseSmallCaps -> 小文字を、小さな「大文字の形」へ
uppercaseSmallCaps -> 大文字を、小さな「大文字の形」へ

と解釈するとつじつまがあっている。

Discussion