aardio 官方社区

 找回密码
 注册会员

QQ登录

只需一步,快速开始

搜索
查看: 25966|回复: 7

fontAwesome字体浏览工具

[复制链接]

1

主题

9

回帖

95

积分

培训班

积分
95
发表于 2017-10-9 16:54:03 | 显示全部楼层 |阅读模式
  1. import win.ui;
  2. /*DSG{{*/
  3. var winform = win.form(text="fontawesome字体展示";right=1059;bottom=694)
  4. winform.add()
  5. /*}}*/

  6. import win.clip;

  7. import console;
  8. import web.layout;
  9. import web.layout.fontAwesome;

  10. var fontAwesomeCss = $"~\lib\web\layout\.res\fontAwesome.css"

  11. var remain = string.match(fontAwesomeCss,"<@.fa-glass@>.+$");

  12. var tab = {};
  13. for m in string.gmatch(remain,"<@.fa-@>[-a-z0-9]+") {
  14.         m = string.replace(m,"\.","fa ");
  15.         table.push(tab,m);
  16. }

  17. var s = '<i class="' ++ tab[1] ++ '" title="' ++ tab[1] ++ '"></i>';
  18. for i=2;#tab {
  19.         s += '<i class="' ++ tab[ i ] ++ '" title="' ++ tab[ i ] ++ '"></i>';
  20. }

  21. var wbLayout = web.layout(winform);

  22. wbLayout.html = /**
  23. <!doctype html>
  24. <html>
  25. <head>
  26.     <style type="text/css">
  27.     html,body{ height:100%; margin:10px;}
  28.     i {
  29.             behavior:~button;
  30.             height:60px;
  31.             width:60px;
  32.             text-align:center;
  33.             vertical-align:middle;
  34.             font-size:24px;
  35.             color:#008080;
  36.     }       
  37.     i:hover {
  38.             background:#ccc;
  39.     }
  40.    
  41.     </style>
  42. </head>
  43. <body>
  44.        
  45. </body>
  46. </html>
  47. **/

  48. var ele = wbLayout.querySelector("body");

  49. ele.innerHTML = s;

  50. wbLayout.onButtonClick = function (ltTarget,ltOwner,reason,behaviorParams) {
  51.         if (ltTarget.tagName == "i") {
  52.                 win.clip.write(ltTarget.title);
  53.                 winform.msgbox("类名 " ++ ltTarget.title ++ " 已复制到剪贴板了");
  54.         }
  55. }

  56. winform.show()
  57. win.loopMessage();
复制代码




up.png

170

主题

2169

回帖

1万

积分

管理员

积分
13161
发表于 2018-7-12 14:53:01 | 显示全部楼层
感谢tanker,改进了一下添加到aardio工具了,
fa.jpg

import win.ui;
import gdip.fontAwesome;
/*DSG{{*/
var winform = win.form(text="fontAwesome图标字体浏览器 - 点击图标复制转义字符";right=1173;bottom=716;bgcolor=16777215)
winform.add(
custom={cls=
"custom";text="custom";left=1;top=0;right=901;bottom=714;bgcolor=15793151;db=1;dl=1;dr=1;dt=1;z=1};
editCssClass={cls=
"edit";left=987;top=344;right=1148;bottom=367;dr=1;dt=1;edge=1;z=2};
editText={cls=
"edit";left=987;top=168;right=1148;bottom=191;dr=1;dt=1;edge=1;z=4};
plus={cls=
"plus";left=960;top=26;right=1122;bottom=148;color=255;dr=1;dt=1;font=LOGFONT(name='FontAwesome';h=-96);z=6};
static={cls=
"static";text="CSS类名:";left=925;top=347;right=977;bottom=370;align="right";dr=1;dt=1;transparent=1;z=3};
static2={cls=
"static";text="转义字符:";left=925;top=171;right=977;bottom=194;align="right";dr=1;dt=1;transparent=1;z=5};
static3={cls=
"static";text='传统控件、plus控件等请在字体属性中指定"fontAwesome",并在text文本属性中使用单引号包含上面的转义字符,普通控件请在创建窗口前调用import win.fontAwesome,plus等使用GDI+的控件请在创建窗口前调用import gdip.fontAwesome';left=925;top=209;right=1137;bottom=327;dr=1;dt=1;transparent=1;z=7};
static4={cls=
"static";text="HTMLayout需要在打开网页前调用import web.layout.fontAwesome加载字体样式,其他浏览器控件直接调用import win.fontAwesome并且在fontAwesome网页样式中去掉font-face定义即可与传统控件共享字体文件,当然也可以按浏览器里的写法自带fontAwesome字体";left=925;top=383;right=1137;bottom=501;dr=1;dt=1;transparent=1;z=8}
)
/*}}*/

import web.layout;
import web.layout.fontAwesome;

//提取fontAwesome所有图标
gFontAwesomeIcons = string.search({}
    ,$
"~\lib\web\layout\.res\fontAwesome.css"
    ,
"\.fa-glass.+","\.(fa\-[\w\-]+)")

var wbLayout = web.layout(winform.custom);

wbLayout.html =
/**
<!--http://bbs.aardio.com/forum.php? ... amp;tid=13569-->
<!doctype html>
<html>
<head>
    <style type="text/css">
    html,body{ height:100%; margin:10px;}
    i {
            behavior:button;
            height:60px;
            width:60px;
            text-align:center;
            vertical-align:middle;
            font-size:24px;
            color:#008080;
    }        
    i:hover {
            background:#ccc;
            color:#F08000;
    }
   
    </style>
</head>
<body>
      <?
      for i,icon in table.eachIndex(gFontAwesomeIcons){
        ?>
            <i name="fontAwesome" class="fa <?=icon?>" title="fa <?=icon?>"></i>
        <?  
      }
      ?>  
</body>
</html>
**/


import win.clip;
wbLayout.onButtonClick = {
    fontAwesome =
function (ltTarget,ltOwner,reason,behaviorParams) {
        winform.editCssClass.text = ltTarget.class;
        winform.editText.text = string.replace( string.escape( ltTarget.style.content,
true,true ),"\\u5","\\uF");
        winform.plus.text = string.unescape(winform.editText.text);
        win.clip.write(winform.editText.text);
    }
}

winform.show()
win.loopMessage();


170

主题

2169

回帖

1万

积分

管理员

积分
13161
发表于 2017-10-9 17:57:23 | 显示全部楼层
这个很厉害!

1

主题

9

回帖

95

积分

培训班

积分
95
 楼主| 发表于 2017-10-9 18:24:02 | 显示全部楼层
哈哈  Jacen过奖了

38

主题

129

回帖

1045

积分

荣誉会员

积分
1045
发表于 2017-10-9 19:32:57 | 显示全部楼层
听了Jacen的建议,刚准备转到layout,你就送枕头来了.哈, 阿里嘎多

0

主题

26

回帖

296

积分

二级会员

积分
296
发表于 2017-10-10 11:38:40 | 显示全部楼层
阿里嘎多

1

主题

7

回帖

62

积分

一级会员

积分
62
发表于 2017-11-11 23:55:45 | 显示全部楼层
这个好强呀太喜欢了

4

主题

14

回帖

199

积分

一级会员

积分
199
发表于 2018-7-13 08:29:10 | 显示全部楼层
太好了~~这下再也不用每次另开一个字体浏览工具了和对着找码了~~~
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

手机版|未经许可严禁引用或转载本站文章|aardio.com|aardio 官方社区 ( 皖ICP备09012014号 )

GMT+8, 2024-9-15 21:27 , Processed in 0.070817 second(s), 27 queries .

Powered by Discuz! X3.5

Copyright © 2001-2024 Tencent Cloud.

快速回复 返回顶部 返回列表