2017-01-02 18 views
0

今天我發現我的應用程序在swift 3中存在一個大問題:所有希臘字母(如圖片)都不會出現在應用程序故事板和佈局中;所有其他表情符號和特殊字符的作品。Swift錯誤中的數學(希臘)符號?

這是一個Swift錯誤?我需要爲我的數學應用程序使用這些字符。

Math Symbols

+1

希臘字符在Unicode中不比意大利字符更特別。他們只是人物。 *這些*雖然不是Unicode的希臘字符。有些是數學符號,有些是古老的形式,至少有一種是「WT」?這是倒立的嗎?'。你在哪裏找到他們?你使用什麼Unicode值/範圍? –

+0

嗨,我想插入這個特殊字符在標籤或textview,但編譯器給我[?]這不會發生與其他特殊字符,但也與希臘和我不明白,因爲。我想寫成「」。如果你試圖把它放在一個標籤中,他們不會顯示 –

+0

[希臘字母在iOS中可能的重複不起作用](http://stackoverflow.com/questions/42054519/greek-letters-in-ios-doesnt工作) – matt

回答

1

我在您的評論(例如信息需要在你的問題,而不是在評論)檢查三個大字,和他們都在數學字母數字符號的代碼塊非BMP字符。

"" //MATHEMATICAL BOLD SMALL LAMDA U+1D6CC 
"" //MATHEMATICAL BOLD SMALL PHI  U+1D6D7 
"" //MATHEMATICAL ITALIC SMALL DELTA U+1D6FF 

的iOS

這些字符雖然我測試爲止,安裝在IOS 10模擬器的所有字體不具有映射字形。

您可能需要:

  • 你的應用程序中

  • 將這些字符使用常用的希臘字母
安裝自己的字體支持這些字符轉換成 NSAttribtedString

這是一小段代碼,你可以在iOS中的遊樂場測試:

(λ,φ和δ只是簡單的希臘字母,U + 03BB,U + 03C6和U + 03B4)

import UIKit 

var maStr = NSMutableAttributedString() 
let boldFont = UIFont(name: "Times-Bold", size: 18.0)! 
maStr.append(NSAttributedString(string: "λ φ", attributes: [NSFontAttributeName: boldFont])) 
let italicFont = UIFont(name: "Times-Italic", size: 18.0)! 
maStr.append(NSAttributedString(string: " δ", attributes: [NSFontAttributeName: italicFont])) 
maStr 

enter image description here

如果這不能滿足您的要求,您需要更新您的問題並準確解釋您的要求。


的MacOS(OS X)

在我的OS X埃爾卡皮坦(10.11.5) - 對不起尚未塞拉利昂 - ,我發現兩種字體(在相同的字體系列)可以顯示這些字符。

STIXGeneral-粗體

STIXGeneral正規

因此,在通常的文本系統,其可以選擇替代的字體,例如數學符號可以被顯示。

例如,你可以在遊樂場測試適用於MacOS:

import Cocoa 

var str = "Hello, playground" 

let label = NSTextField(frame: CGRect(x:0, y:0, width: 320, height: 100)) 
label.stringValue = " " 

而且Xcode中8.2.1的故事板編輯器實際顯示這些字符。

+0

現在我需要把這個和其他符號放在我的應用程序的標籤中,你有什麼建議? –

+0

@AttilioPiccolo,你的問題中有「osx」標籤。你真的正在爲macOS寫一個應用程序嗎? – OOPer

+0

我正在寫一個iOS應用程序 –