
Si eres un desarrollador web, creo que estarás familiarizado con el atributo de fuentes-familias de CSS. Por lo general, estableceremos una larga lista de fuentes (familia) para la propiedad de fuentes-familias, como esta:
. text { font-family : Menlo , Monaco , Consolas , "Courier New" , monospace , Arial , "Microsoft YaHei" , "黑体" , "宋体" , sans-serif; }Algunas personas definitivamente preguntarán, ¿por qué necesitas configurar esto? Si es lo suficientemente cuidadoso, definitivamente encontrará que cuando navegue por la página web, la fuente inglesa y la fuente china no son la misma fuente. Si ve las fuentes presentadas por la página web en diferentes sistemas operativos o incluso en diferentes computadoras, verá que las fuentes presentadas en la página web son diferentes. ¿Por qué es esto?
Además, cuando usa Microsoft Word para el párrafo compatible con el párrafo, encontrará que la palabra puede aplicar automáticamente fuentes chinas a los estilos chinos y las fuentes inglesas a los estilos ingleses. ¿Cómo se hace esto?
En las necesidades de composición tipográfica reales, para vernos bien, generalmente necesitamos hacer diferentes configuraciones de fuentes para el texto (script) en diferentes idiomas para lograr el mejor efecto visual. Por supuesto, para nosotros, lo más común es el chino e inglés mixto. Por lo general, los borradores de diseño dados por los diseñadores son muy hermosos, pero se utilizan diferentes fuentes en chino e inglés. ¿Cómo pueden nuestros desarrolladores restaurar el diseño original del borrador de diseño con alta fidelidad?
Obviamente, para los desarrolladores web, ya hay una buena solución, pero para los estudiantes de otros clientes, esto probablemente debería ser un poco difícil. Por lo general, les decimos a los diseñadores: "El sistema no lo admite" o "No puede hacerlo". Entonces, de hecho, ¿se puede hacer? La respuesta es sí.


Método 1: fbCharm está disponible a través de Cocoapods. Para instalarlo, simplemente agregue la siguiente línea a su Podfile:
pod 'fbCharm'
let text = "これは日本語文章と Roman Text の混植文章です。美しいヒラギノと San Francisco で日本語とローマ字を書きます。System Font のフォントメトリクスには独自の調整が入っています。 n n这是一段中文简体。 n這是一段中文繁體。 nうつくしい森で飾られたモーリオ市、 n郊外のぎらぎらひかる草の波。 n祇辻飴葛蛸鯖鰯噌庖箸n底辺直卿蝕薩化n ABCDEFGHIJKLM n abcdefghijklm n 1234567890 n iClockᴹᴵᴺᴵ n Clockª "
let fontSize : CGFloat = 22.0
// 適当に行間を空ける処理
let paragraphStyle : NSMutableParagraphStyle = NSMutableParagraphStyle ( )
paragraphStyle . minimumLineHeight = fontSize * 1.5
paragraphStyle . maximumLineHeight = paragraphStyle . minimumLineHeight
let attributedString = NSMutableAttributedString ( text : text , families : [ " Lucida Grande " , " Baskerville " , " Apple SD Gothic Neo " ] , size : 18.0 , weight : . light , kern : 4.0 , paragraphStyle : paragraphStyle )
self . label . attributedText = attributedString
//let font = UIFont(families: ["Lucida Grande", "Baskerville", "Apple SD Gothic Neo"], size: 20, weight: .medium)
//self.label.font = font
//self.label.text = text