計算機中字型的原理是什麼?

時間 2021-06-01 21:43:57

1樓:Dictionaryphile

作業系統、計算機組成原理、資訊處理 etc.

Windows 10 作業系統,C:\Windows\System32 資料夾下有 charmap.exe 。

同樣的 U+0030: Digit Zero ,選擇不同字型,我們看到的是穿著不同外衣的 0 (甚至可能不是 0)。

- 計算機系統是如何顯示乙個字元的?

TrueType font file (.ttf)

What are TrueType fonts?

TrueType technology actually involves two parts:

- The TrueTypeRasterizer

- TrueType fonts

The Rasterizer isa piece of softwarethat is embedded in both Windows and Mac operating systems. It gathers information on the size, color, orientation and location of all the TrueType fonts displayed and converts that information into a bitmap that can be understood by the graphics card and monitor. It is essentially aninterpreterthat understands the mathematical data supplied by the font and translates it into a form that the video display can render.

The fonts themselves contain data that describes the outline of each character in the typeface. Higher quality fonts also containhintingcodes. Hinting is a process that makes a font that has been scaled down to a small size look its best.

Instead of simply relying on the vector outline, the hinting codes ensure that the characters line up well with the pixels so that the font looks as smooth and legible as possible.

待續。。。

2樓:林斌斌

前置知識

我們知道對於計算機來說所有的東西只不過是0或者1構成的各種序列。通過一定方式的處理,它可以把所有的模似訊號轉成數碼訊號。也可以把數碼訊號轉成模似的訊號。

(處理本身的函式描述和程式也是二進位制的序列)

1.計算機中的字型它是乙個檔案,同名字型可能有多個檔案,在Windows當中它是存在C:\Windows\Fonts(C:

\windows這個目錄可能跟安裝盤有關係).用FontCreator可以建立或者修改字型。

字型現在通常是TrueType型別的(也有一堆其它型別的),是乙個向量圖形。不管是什麼字型或者以什麼樣方式來描述, 每個字都有它自己的編號。

通常軟體會用乙個表的方式來展示它(比較好看)。

字符集也是我們規定的乙個東西,它類似於字型,每個字有乙個編號,但是它沒有每個字型如何展示的描述。比如有的電影的場景可能會寫一串行數字, 這些數字對應某本書的頁數行數字置,這樣要想解讀這個數字序列就要去查哪本書了,查完後連起來就是你用的文字了(因為歷史原因所以字符集有些混亂,早期設計都是夠用就行,每個組織個人自己設計)

2.顯示的話,具體的流程不清楚。 但是大概可能是這個樣子。

如果我們知道乙個string 它的儲存肯定是 bytes。如果我們知道它是用unicode的編碼方式。 並假設我們的字型是用Utf32的方式儲存的。

這時候就需要將Unicode轉成utf32.然後查表,

跟據字型描述畫出哪個字。 如果編碼方式跟字型一樣,就可以直接查表。 具體的要去反編譯 Graphics.DrawString 和反彙編它呼叫的其它函式。

如何畫出這個字,就是看哪個字型是如何描述的了。點陣字型的話在不進行放大縮小的情況下是最簡單了,向量字型放大和縮小不會影響字型的清晰度。

這邊我也有乙個問題。 如果C#對string的內建編碼是採用 unicode 16 (而不是unicode 32)這樣的話按理它沒有辦法表達全部的字元的能力UTF32。它是看注釋又確實是這個樣子。

後面發現了UTF-16 有的字用了4個位元組比如 。 字寫下去自動消失了。

3.為什麼哪麼多字型,豐富多彩也是世界的一種特徵。什麼設計出來的,每個字都可以是一種藝術。用現有的工具FontCreator就可以弄了。

計算機中記憶體3B是什麼?

張玉明 計算機是2進製的,只能識別0和1 0或1稱為乙個二進位制位 0000 0000 8個2進製位稱為b,叫位元組 0000 0000 0000 0000稱為字,1字 2位元組 1024 0000 0000 1kb,表示1024個位元組 1024 1kb 1mb,表示個1024 1024個位元組 ...

計算機中描述符的概念是什麼?

乙個描述符一般就是個數字,表示乙個開啟的檔案,程序,磁碟inode等等。核心有乙個大陣列維護這個東西。也可以理解描述符為資料庫表裡的乙個id欄位,描述符對應的資源是這個字段本身。只不過這裡的資料庫是核心。 用心閣 簡單理解就是儲存描述資訊的資料結構。比如IDT裡的描述符就是描述中斷處理程式的資料結構...

計算機中的字型檔案使用的編碼是什麼?

方正飛翔雲服務 對於中文字型而言編碼有這樣幾種分類 GB 國標 編碼 其中是將大陸簡體和大陸繁體分成兩個字型檔案比如楷體,就是方正楷體簡體 方正楷體繁體。每種字型所包含的字型個數是6000多個。BIG5 大5碼 編碼 這是台灣繁體編碼。GBK 國標擴充套件 編碼 是將簡體和繁體何為一起並進行了擴充。...