亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? font.c

?? SD卡調試所用的資料
?? C
字號:


//**********************************************************************************************
//* 文 件 名 : font.c
//*
//* 文件描述 : 英文+漢字顯示, 漢字字庫從SD卡文件中讀取
//* 
//* 作    者 : knight
//* 版    本 : V0.01
//* 編 譯 器 : IAR EWARM 5.30
//* 日    期 : 2009-10-18
//* 所需支持代碼: tft, sd_mmc_spi, partition, fat16
//**********************************************************************************************

#include "font.h"
#include "chardot.h"

    _Font   Font;
    _Page   Page;

u8 isHZKOpened=False;


/**********************************************************************
*   函數        ShowOneHZ --- 顯示一個漢字 
*   輸入參數    X,Y --- 漢字左上角坐標  
*               CnASCII_H,CnASCII_L --- 漢字的ASCII
*               isTransparent ---背景是否透明
*   輸出參數    無
*   返回值      True,False
**********************************************************************/
u8
ShowOneHZ(s16 X,s16 Y,u8 CnASCII_H,u8 CnASCII_L,u8 isTransparent)
{
    s32 Offset;
    u16 i,j;
    u16 ByteOfHZ,Cnt;
       
    u8  HZBuf[72];
    
  //USART_SendBuffer(USART1,"----OpenFile(Font.Name)\r\n",MaxBufLen);   
    if (isHZKOpened==False)   
    {
        if ( !OpenFile(Font.Name) )
        {
            return False;
        }
        isHZKOpened=True;
    }
    
    ByteOfHZ=(Font.Width * Font.Height)/8;
       
    if ( (CnASCII_H > 0xA0) && (CnASCII_H > 0xA0) )
    {  
      
      ///USART_SendBuffer(USART1,"----Fat16_Seek_File(Offset)\r\n",MaxBufLen);      
        Offset = ByteOfHZ * ( (CnASCII_H - 0xA1)*94 + (CnASCII_L - 0xA1) );        
        Fat16_Seek_File(FileData, &Offset, FAT16_SEEK_SET); 
        
      ///USART_SendBuffer(USART1,"----Fat16_Read_File(HZBuf,ByteOfHZ)\r\n",MaxBufLen);
        Cnt=Fat16_Read_File(FileData, HZBuf, ByteOfHZ);
        if (Cnt!=ByteOfHZ)
        {
            return False;
        }
        
      ///USART_SendBuffer(USART1,"----Print HZ\r\n",MaxBufLen);        
        SetWindowRange(0,0,TFTScreenWidth,TFTScreenHeight);
        SetWindowRange(X,Y,Font.Width,Font.Height); 
        
        tftWriteCmd(0x22);    
        for (i=0;i<ByteOfHZ;i++)
        {            
            for (j=0;j<8;j++)
            {
                if ( ( HZBuf[i] & (0x80>>j) ) != 0 )
                {
                    tftWriteData16(Font.FColor.H,Font.FColor.L);
                }
                else 
                {
                    if(!isTransparent)
                    {
                       tftWriteData16(Font.BColor.H,Font.BColor.L);
                    }
                    else
                    {;}
                }             
            } 
        }
    }
    return True;
}
                     


/**********************************************************************
*   函數        tftShowStr --- 顯示字符串 
*   輸入參數    Row,Col --- 起始 行和列  
*               str --- 需要顯示的字符串
*               isTransparent ---背景是否透明
*   輸出參數    無
*   返回值      實際顯示的字符串個數
**********************************************************************/
u8 
tftShowStr(u8 Row,u8 Col, u8* str,u16 buflen,u8 isTransparent)
{
    u8 Cnt=0;
    u8 i,j;
    s16 pX,pY;    
    u8 CnASCII_H,CnASCII_L;
    
    isHZKOpened=False;
    if (!OpenDir("/FONT")) return 0;
    
    pX=Col * Page.ColWidth  + Page.XOffset;
    pY=Row * Page.RowHeight + Page.YOffset;
    while( (*str!=0 || buflen<MaxBufLen) && (Cnt<buflen) )
    {
        if (*str > 0xA0)
        {
        ///====================================
        ///     顯示漢字、字符等全角字符
        ///====================================
            CnASCII_H=*str;
            str++;
            Cnt++;
            if (*str>0xA0)
            {                
                if (!isTransparent)
                {   
                    SetWindowRange(0,0,TFTScreenWidth,TFTScreenHeight);
                    SetWindowRange(pX,pY,Page.ColWidth,Page.RowHeight);
                    ClrTFT( Font.BColor.H, Font.BColor.L, (Page.ColWidth * Page.RowHeight) );
                } 
                
                CnASCII_L=*str;
                ShowOneHZ(pX,pY,CnASCII_H,CnASCII_L,isTransparent);
                
                str++;
                Cnt++;
                pX+=Page.ColWidth;
                if ( pX > (TFTScreenWidth - Font.Width) )
                {
                    pX  = Page.XOffset;
                    pY += Page.RowHeight;
                }
            } 
        }
        else
        {         
        ///====================================
        ///    顯示數字、字母、符號等半角字符
        ///====================================         
            if (!isTransparent)
            {   
                SetWindowRange(0,0,TFTScreenWidth,TFTScreenHeight);
                SetWindowRange(pX,pY,(Page.ColWidth+1)/2,Page.RowHeight);
                ClrTFT( Font.BColor.H, Font.BColor.L, ((Page.ColWidth+1)/2*Page.RowHeight) );      
            }  
            
            SetWindowRange(pX,pY,8,16);        
            tftWriteCmd(0x22);             
            
            for (i=0;i<16;i++)
            {
                CnASCII_L=CharDot[((*str)-0x20)*16 + i];
                for(j=0;j<8;j++)
                {
                    if ( ( CnASCII_L & (0x80>>j) ) != 0 )
                    {
                        tftWriteData16(Font.FColor.H,Font.FColor.L);
                    }
                    else 
                    {
                        if(!isTransparent)
                        {
                          tftWriteData16(Font.BColor.H,Font.BColor.L);
                        }
                        else
                        {;}
                    } 
                }
                
            }
            
            str++;
            Cnt++;
            pX+= (Page.ColWidth+1) / 2;
            if ( pX > (TFTScreenWidth - (Font.Width+1)/2) )
            {
                pX  = Page.XOffset;
                pY += Page.RowHeight;
            }            
        }      
    }
    CloseFile();
    isHZKOpened=False;
    return Cnt;
}


/**********************************************************************
*   函數        Font_Test --- 測試漢字 
*   輸入參數    無
*   輸出參數    無
*   返回值      無
**********************************************************************/
void                     
Font_Test(void)
{   
    BufCopy_8(Font.Name,"HZK16",6);

    Font.Width=16;
    Font.Height=16;
    Font.FColor.H=0xf8;
    Font.FColor.L=0x00;
    Font.BColor.H=0x00;
    Font.BColor.L=0x00;
    
    Page.XOffset=4;
    Page.YOffset=1;
    Page.RowHeight=17;
    Page.ColWidth=16;
    
    tftShowStr(0,2,
"我是一只小小小小(So small)鳥,想要飛呀飛卻飛也飛不高,我尋尋覓覓尋尋覓覓一個溫暖的懷抱,這樣的要求算不算太高",
                MaxBufLen,
                False);
}


















?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
中文字幕一区二区视频| 在线成人av网站| 韩国精品在线观看| 日本不卡高清视频| 亚洲成在线观看| 亚洲成人黄色影院| 亚洲高清中文字幕| 三级欧美在线一区| 另类综合日韩欧美亚洲| 美女任你摸久久| 国产精品一二三在| 成人国产精品免费网站| 色综合久久久久网| 欧美三级一区二区| 欧美一区二区免费| 国产亚洲综合色| 国产精品久久久久桃色tv| 亚洲视频免费看| 一区二区三区成人| 久久国产成人午夜av影院| 国产一区二区三区综合| av在线综合网| 正在播放一区二区| 久久久久国色av免费看影院| 亚洲天堂a在线| 亚洲国产视频网站| 日本一道高清亚洲日美韩| 韩国女主播成人在线| 成人黄色软件下载| 91.xcao| 国产午夜亚洲精品理论片色戒| 国产网站一区二区三区| 亚洲图片欧美色图| 国产在线国偷精品产拍免费yy| av一区二区三区在线| 欧美久久一区二区| 国产欧美精品一区二区三区四区| 亚洲九九爱视频| 久久机这里只有精品| 99久久综合色| 日韩精品资源二区在线| 亚洲精品日韩综合观看成人91| 久久69国产一区二区蜜臀| 色悠久久久久综合欧美99| 日韩三级视频在线看| 一区二区三区中文免费| 国产一二精品视频| 欧美一区三区四区| 亚洲欧美电影院| 国产传媒久久文化传媒| 欧美一区二区二区| 亚洲蜜桃精久久久久久久| 国产一区在线精品| 欧美一级淫片007| 亚洲国产精品人人做人人爽| 国产精品羞羞答答xxdd | 国产精品成人在线观看| 日本成人中文字幕| 在线观看欧美精品| 亚洲男人天堂av| www.亚洲精品| 国产欧美综合在线| 国产一区二区三区高清播放| 日韩欧美成人一区| 午夜电影网一区| 欧美日韩精品一区二区三区蜜桃 | 大白屁股一区二区视频| 欧美不卡一区二区| 日韩成人一级片| 91精品国产综合久久精品图片| 亚洲视频狠狠干| 99精品欧美一区二区蜜桃免费| 国产色一区二区| 国产精品伊人色| 国产日韩视频一区二区三区| 国产精品综合在线视频| 国产日韩综合av| 成人动漫精品一区二区| 欧美国产乱子伦 | 一区二区三区日韩欧美精品| 岛国av在线一区| 中文字幕在线一区| 97久久超碰国产精品| 亚洲欧美日韩国产综合| 91色在线porny| 一区二区成人在线观看| 欧美午夜电影网| 亚洲高清免费观看高清完整版在线观看| 91丨porny丨中文| 亚洲国产精品久久久久婷婷884| 在线视频综合导航| 视频一区欧美精品| 欧美成人性福生活免费看| 激情丁香综合五月| 国产精品美女久久久久aⅴ国产馆| 成人性生交大片免费| 亚洲美女区一区| 欧美日韩国产免费一区二区| 麻豆精品精品国产自在97香蕉| 亚洲精品在线一区二区| 大美女一区二区三区| 亚洲伦理在线免费看| 91精品国产入口| 国产+成+人+亚洲欧洲自线| 亚洲三级在线免费| 日韩欧美成人午夜| jlzzjlzz国产精品久久| 视频一区中文字幕国产| 国产亚洲一区二区在线观看| 91丨porny丨户外露出| 性感美女极品91精品| 精品国产乱码久久久久久老虎| va亚洲va日韩不卡在线观看| 午夜一区二区三区在线观看| 久久久久久久久久久久电影 | 久久网站热最新地址| 不卡av在线网| 美女一区二区视频| 中文字幕一区二| 欧美zozo另类异族| 欧美在线视频日韩| 国产成人日日夜夜| 亚洲成人激情社区| 国产精品国产自产拍高清av王其| 在线成人免费观看| 99久精品国产| 国产九九视频一区二区三区| 午夜精品福利一区二区三区av | 成人动漫一区二区| 极品尤物av久久免费看| 亚洲夂夂婷婷色拍ww47| 欧美韩日一区二区三区| 精品国产免费一区二区三区香蕉| 在线精品亚洲一区二区不卡| 国产一本一道久久香蕉| 免费美女久久99| 亚洲18女电影在线观看| 日韩一区欧美小说| 国产精品久久久久一区| 精品福利一二区| 欧美一级在线视频| 欧美人妇做爰xxxⅹ性高电影| 91偷拍与自偷拍精品| 成人动漫在线一区| 国产成人精品免费视频网站| 国产综合久久久久久鬼色| 麻豆精品国产传媒mv男同| 五月婷婷激情综合网| 亚洲综合成人在线| 一二三四社区欧美黄| 日韩理论片在线| 一级女性全黄久久生活片免费| **欧美大码日韩| 国产精品久久久久久久久动漫| 国产欧美综合在线观看第十页| 欧美精品一区二区三区高清aⅴ | av福利精品导航| 成人av电影免费观看| 成人综合婷婷国产精品久久蜜臀| 国产91综合网| 99久久99久久精品免费看蜜桃 | 欧美日韩一二区| 欧美日韩中文一区| 欧美精品一级二级| 日韩欧美国产三级| 国产亚洲一区二区三区四区 | 欧美一三区三区四区免费在线看 | 2023国产精华国产精品| 久久天堂av综合合色蜜桃网| 日本一区二区综合亚洲| 国产精品国产三级国产aⅴ中文 | 中文字幕一区二区三区乱码在线| 最新欧美精品一区二区三区| 亚洲丝袜精品丝袜在线| 午夜国产不卡在线观看视频| 捆绑调教美女网站视频一区| 成人午夜激情在线| 色视频成人在线观看免| 日韩一卡二卡三卡四卡| 国产亚洲1区2区3区| 亚洲人成精品久久久久久| 奇米影视在线99精品| 国产成人精品影院| 91久久精品国产91性色tv| 91麻豆精品国产91久久久久久久久 | caoporen国产精品视频| 欧美午夜精品理论片a级按摩| 日韩一区二区三区在线视频| 久久久综合网站| 亚洲高清不卡在线观看| 国产精品小仙女| 欧美色倩网站大全免费| 精品国产制服丝袜高跟| 一区二区三区精品在线| 国产呦精品一区二区三区网站| 日本高清不卡视频| 精品成人免费观看| 亚洲一二三四在线观看| 国产精品自拍三区| 欧美日韩一区二区在线观看视频|