国字的机内码国标码和区位码
 类别   数值 
机内码  B9FAH 
国标码  397AH 
区位码  195AH 
区位码为195AH 换算成十进制为2590 即国字的点阵位
于第25 区的第90 个字的位置相当于在文件HZK16 中的位置为
32 [(25-1) 94 (90-1)] 75040B 以后的32 个字节为国的显示点阵
我只知道这些,可是,那个16进制的文件内的格式是什么?怎样取出这32个字节呢?

解决方案 »

  1.   

    '  不知在你记忆中还有没有UC-Dos存在,那是几年前的事情了吧?Private Sub Form_Load()
        Static count
        Dim Char(1) As Byte
        Dim buffer As Byte
        
        Me.Show
        DoEvents
        
        Dim qu As Integer, wei As Integer
        Dim x, y, t As Integer
        
        Open App.Path & "\HZK16." For Binary As #1
        
        For qu = 1 To 94
            Me.Caption = Str(Int(qu / 94 * 100)) & "%完成"
            For wei = 1 To 94
                Char(0) = 160 + qu
                Char(1) = 160 + wei            Label1.Caption = StrConv(Char(), vbUnicode)
                DoEvents
                
                For y = 0 To 15
                    For t = 0 To 1
                        buffer = 0
                        
                        For x = 0 To 7
                            buffer = buffer * 2                        myPoint = Picture1.Point(t * 8 + x, y)
                            If myPoint <> 7372944 Then
                                buffer = buffer + 1
                            End If
                        Next x
                        
                        Put #1, Loc(1) + 1, buffer
                    Next t
                Next y
            Next wei
        Next qu
        Close
        
        Unload Me
    End Sub
      

  2.   

    Function funGetList(strIn As String)
        Dim hCode As Long, lCode As Long '高位低位码
        Dim Code As Long
        Dim a() As Byte
        Dim i As Integer, j As Integer, k As Integer
        
        a = StrConv(strIn, vbFromUnicode)
        
        hCode = a(0)
        lCode = a(1)
    '    Code = (hCode - 1) * 94 + lCode
        Code = ((hCode - 161) * 94 + lCode - 161) * 32
        
        Dim FileNo As Integer
        Dim getCode(31) As Byte
        Dim tmp As String
    '读文件
        FileNo = FreeFile
        Open App.Path & "\hzk16.dat" For Binary As FileNo
        Get #FileNo, , tmp
        Get #FileNo, Code + 1, getCode
        Close'取文字
        For i = 0 To 15
            For j = 0 To 1
                For k = 0 To 7
                    If (getCode(i * 2 + j) And 2 ^ (7 - k)) <> 0 Then '是否有点(00110010)
                        Debug.Print "*";
                        txtShow.Text = txtShow.Text & "*"
                    Else
                        Debug.Print " ";
                        txtShow.Text = txtShow.Text & " "
                    End If
                Next k
            Next j
            Debug.Print
            txtShow.Text = txtShow.Text & vbCrLf
            txtShow.Text = txtShow.Text & vbCrLf
        Next i
    End Function
      

  3.   

    没必要呀,你那样只一种字体我有一个简单的方法在 PictureBox上用Print打印一个字符,然后用GetPixel去获得点阵信息,这样你可以控制 PictureBox的字体和大小,得到任何字体的点阵信息
      

  4.   

    参考这个程序
    http://www.csdn.net/cnshare/soft/14/14895.shtm