精华内容
下载资源
问答
  • 日文版小饭团截图软件 挺方便的。rapture-2.0
  • 日本的一款截图软件 Setuna ,开发中特别方便的抓图,截图工具。特别轻量。
  • GALTRANS是一款专门针对galgame开发的日文游戏翻译软件,大家都知道,日本的漫画,游戏质量都是很不错的,但是碍于日语的原因,使用起来都不是很方便,GALTRANS能够帮您解决些许问题,可以完美的将日文游戏翻译为...
  • 网上有很多的ocr识别图片转文字再翻译的软件。但是没有翻译日语的。于是想自己做一个对含有日语的图片进行识别并翻译为中文的小工具。这里提一下,如果看这篇文章的人只是希望找个选中文本并翻译的软件程序,那推荐...

    1.引言:

    网上有很多的ocr识别图片转文字再翻译的软件。但是没有翻译日语的。于是想自己做一个对含有日语的图片进行识别并翻译为中文的小工具。这里提一下,如果看这篇文章的人只是希望找个选中文本并翻译的软件程序,那推荐看此链接程序。

    https://github.com/copytranslator/CopyTranslator/wiki/Downloads-%E4%B8%8B%E8%BD%BD%E4%B8%8E%E5%AE%89%E8%A3%85

    这个软件功能是复制文本然后自动翻译,支持日语、英语等多种语言。

    如果还是希望实现截图翻译,请继续看,下文娓娓道来。

    2.思路:

    基本动作流程:

    截图 ->对剪切板中图片的文字进行识别->翻译。

    3.具体实现:

    1).对需要翻译的内容截图。

    截图可通过搭配其他软件来实现。使用QQ或者微信等截图工具截图到剪切板也行。或者自己开发也行。

    这里,我用的是网上流行的微信的dll库来实现截图的。名字:PrScrn.dll。网上有下载,但好像都是32位的,看网上是用下面的代码来使用这个截图dll的。我运行的时候出错了。这里也贴一下,或许对于制作的人有参考。估计python 是32位的应该可以使用。或许有了解确切原因的请留言。

    # #**********调用微信dll截图********************
    def capture():
        import ctypes
        try:
            dll = ctypes.cdll.LoadLibrary('PrScrn.dll')
        except Exception as e:
            print("Dll load error: ")
            print(e)
            return
        else:
            try:
                dll.PrScrn(0)
            except:
                print("Sth wrong in capture!")
                return

     

    因为电脑python是64的。后来改成python代码中运行,出现截图框了,截图反正是好用了。

    os.system('rundll32 PrScrn.dll PrScrn')

    另外是监视剪贴板内容,参照这个

    
    def main():
        im = ImageGrab.grabclipboard()
        if 'image' in str(im):
            #print(im)
            pyperclip.copy('test')
            assert isinstance(im, object)
            im.save("ocr.png")
            img_path = os.path.join(os.getcwd(), "ocr.png")
            content = vcode2str(img_path)
            ui.setOcrText(str(content))
            #mytext=fanyi(content)
            mytext=my_translate(content)
            ui.setTransText(str(mytext))
            os.remove(img_path)
            time.sleep(2)
        else:
            pass
            #print("请检查是否正确截图后重试!")
    
    import win32con,win32gui
    import win32clipboard as cb
    class MyWindow():         #剪切板监听
        def __init__(self):
            #注册一个窗口类
            wc = win32gui.WNDCLASS()
            wc.lpszClassName = 'MyWindow'
            wc.hbrBackground = win32con.COLOR_BTNFACE+1
            wc.lpfnWndProc = self.wndProc
            class_atom=win32gui.RegisterClass(wc)
            #创建窗口
            self.hwnd = win32gui.CreateWindow( class_atom, u'OCR',
                                               win32con.WS_OVERLAPPEDWINDOW,
                                               win32con.CW_USEDEFAULT,
                                               win32con.CW_USEDEFAULT,
                                               win32con.CW_USEDEFAULT,
                                               win32con.CW_USEDEFAULT, 0,0, 0, None)
            # 显示窗口
            # win32gui.ShowWindow(self.hwnd, win32con.SW_SHOWNORMAL)
        #消息处理
        def wndProc(self, hwnd, msg, wParam, lParam):
            if msg == win32con.WM_DESTROY:
                win32gui.PostQuitMessage(0)
            if msg == win32con.WM_DRAWCLIPBOARD: #当剪切板更新的时候收到这个消息
                main()
                return win32gui.DefWindowProc(hwnd, msg, wParam, lParam)

    2).图片转文本(日语),OCR。

    依靠百度开发平台的OCR来实现。具体注册过程就不写了,网上会找到。终点是要得到三个值。appID,API key, secret Key。下面程序要用。

    另外,还要安装百度的sdk.

    我用的是pycharm,如下安装即可。很方便。

    对于OCR调试的话,百度开发平台官网有例子程序。如下,先运行看看。先确保自己目前申请和搭建的环境是可用的。

    from aip import AipOcr
    
    """ 你的 APPID AK SK """
    APP_ID = '123321'
    API_KEY = 'vrUQ0123123123KsXIUT'
    SECRET_KEY = 'm6zy123123123123123PGikQ'
    
    client = AipOcr(APP_ID, API_KEY, SECRET_KEY)
    
    """ 读取图片 """
    def get_file_content(filePath):
        with open(filePath, 'rb') as fp:
            return fp.read()
    
    image = get_file_content('C:\\Users\\Administrator\\Desktop\\AAA.bmp')
    
    """ 调用通用文字识别, 图片参数为本地图片 """
    #client.basicGeneral(image);
    
    """ 如果有可选参数 """
    options = {}
    options["language_type"] = "CHN_ENG"
    options["detect_direction"] = "true"
    options["detect_language"] = "true"
    options["probability"] = "true"
    
    """ 带参数调用通用文字识别, 图片参数为本地图片 """
    result=client.basicGeneral(image, options)
    
    print(result)

    详细参数设置请参照下面官网链接:比如设置其他语言的识别等等。

    https://cloud.baidu.com/doc/OCR/OCR-Python-SDK.html#.E6.96.B0.E5.BB.BAAipOcr

    3).日语翻译为中文。

    本来想用百度翻译的。但是下面这个提交参数sig和token不知道怎么生成的。于是就放弃这个途径了。

    还有一种方式是申请百度翻译的api.申请的时候看到需要填写公司。于是就没有申请了。

    目前是用有道翻译的demo接口实现翻译的。

    下面是用有道翻译的代码。

    def my_translate(in_str):
        import requests
        import json
        url = "https://aidemo.youdao.com/trans"
    
        data = {
            "q": in_str,
            "from": "ja",
            "to": "zh-CHS"}
    
        headers = {
            "User-Agent":"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Mobile Safari/537.36",
            "Referer": "https://ai.youdao.com/product-fanyi.s"
        }
    
        response = requests.post(url, data=data, headers=headers)
        html_str = response.content.decode()  # json字符串
        dict_ret = json.loads(html_str)
        ret = dict_ret["translation"]
        print("翻译结果是:", ret)
        print("\n")
        return ret

    4.完成代码:

    # coding:utf-8
    import pyperclip
    import os
    import time
    from PIL import Image,ImageGrab
    import subprocess
    from aip import AipOcr
    #-----------------------UI begin--------------------------------------------------
    
    # Form implementation generated from reading ui file 'snip_translate.ui'
    #
    # Created by: PyQt5 UI code generator 5.10.1
    #
    # WARNING! All changes made in this file will be lost!
    
    from PyQt5 import QtCore, QtGui, QtWidgets
    
    class Ui_MainWindow(object):
        def setupUi(self, MainWindow):
            MainWindow.setObjectName("MainWindow")
            MainWindow.resize(1309, 892)
            self.centralwidget = QtWidgets.QWidget(MainWindow)
            self.centralwidget.setObjectName("centralwidget")
            self.pushButton_jietu = QtWidgets.QPushButton(self.centralwidget)
            self.pushButton_jietu.setGeometry(QtCore.QRect(10, 10, 91, 41))
            self.pushButton_jietu.setObjectName("pushButton_jietu")
            self.pushButton_cptext = QtWidgets.QPushButton(self.centralwidget)
            self.pushButton_cptext.setGeometry(QtCore.QRect(10, 60, 91, 41))
            self.pushButton_cptext.setObjectName("pushButton_cptext")
            self.pushButton_cptext.clicked.connect(self.cptext)
            self.pushButton_jietu.clicked.connect(self.jietu)
    
            self.textEdit = QtWidgets.QTextEdit(self.centralwidget)
            self.textEdit.setGeometry(QtCore.QRect(690, 40, 611, 801))
            self.textEdit.setVerticalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOn)
            self.textEdit.setHorizontalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOff)
            self.textEdit.setLineWrapColumnOrWidth(0)
            self.textEdit.setObjectName("textEdit")
            self.textEdit_ocr = QtWidgets.QTextEdit(self.centralwidget)
            self.textEdit_ocr.setGeometry(QtCore.QRect(120, 40, 541, 801))
            self.textEdit_ocr.setVerticalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOn)
            self.textEdit_ocr.setHorizontalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOff)
            self.textEdit_ocr.setObjectName("textEdit_ocr")
            self.label = QtWidgets.QLabel(self.centralwidget)
            self.label.setGeometry(QtCore.QRect(320, 10, 121, 21))
            font = QtGui.QFont()
            font.setFamily("Aharoni")
            font.setPointSize(14)
            font.setBold(True)
            font.setWeight(75)
            self.label.setFont(font)
            self.label.setObjectName("label")
            self.label_2 = QtWidgets.QLabel(self.centralwidget)
            self.label_2.setGeometry(QtCore.QRect(890, 10, 121, 21))
            font = QtGui.QFont()
            font.setFamily("黑体")
            font.setPointSize(14)
            font.setBold(False)
            font.setWeight(50)
            self.label_2.setFont(font)
            self.label_2.setObjectName("label_2")
            MainWindow.setCentralWidget(self.centralwidget)
            self.menubar = QtWidgets.QMenuBar(MainWindow)
            self.menubar.setGeometry(QtCore.QRect(0, 0, 1309, 23))
            self.menubar.setObjectName("menubar")
            MainWindow.setMenuBar(self.menubar)
            self.statusbar = QtWidgets.QStatusBar(MainWindow)
            self.statusbar.setObjectName("statusbar")
            MainWindow.setStatusBar(self.statusbar)
    
            self.retranslateUi(MainWindow)
            QtCore.QMetaObject.connectSlotsByName(MainWindow)
    
        def retranslateUi(self, MainWindow):
            _translate = QtCore.QCoreApplication.translate
            MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow"))
            self.pushButton_jietu.setText(_translate("MainWindow", "截图"))
            self.pushButton_cptext.setText(_translate("MainWindow", "复制文本"))
            self.label.setText(_translate("MainWindow", "识别结果"))
            self.label_2.setText(_translate("MainWindow", "译文"))
        def cptext(self, MainWindow):
            pass
        def jietu(self,MainWindow):
            os.system('rundll32 PrScrn.dll PrScrn')
    
        def setTransText(self, str):
            self.textEdit.setPlainText(str)
        def setOcrText(self, str):
            self.textEdit_ocr.setPlainText(str)
    #-----------------UI end--------------------------------------------------------
    
    
    #**********图片处理********************
    def vcode2str(img_url):
        """ 你的 APPID AK SK """
        APP_ID = '123123123'
        API_KEY = 'vr123123123KsXIUT'
        SECRET_KEY = 'm6123123123123123123kQ'
        client = AipOcr(APP_ID, API_KEY, SECRET_KEY)
        # """ 读取图片 """
        def get_file_content(filePath):
            with open(filePath, 'rb') as fp:
                return fp.read()
        # image = get_file_content('YZM.jpg')
        image = get_file_content(img_url)
        """ 调用通用文字识别, 图片参数为本地图片 """
        client.basicGeneral(image);
        """ 如果有可选参数 """
        options = {}
        options["language_type"] = "JAP"
        options["detect_direction"] = "false"
        options["detect_language"] = "false"
        options["probability"] = "false"
        """ 带参数调用通用文字识别, 图片参数为本地图片 """
        a=client.basicGeneral(image, options)
        length = len(a['words_result'])
        b = ""
        for i in range(length):
            b = b + a['words_result'][i]["words"]
        print("图片文本: " + b)
        with open("original.txt",'w+') as fp:
        #    fp.write(b)
            #print("文字识别部分已保存到本地")
            #print(b)
            fp.close()
        return b
    
    # #**********调用微信dll截图********************
    def capture():
        import ctypes
        try:
            dll = ctypes.cdll.LoadLibrary('PrScrn.dll')
        except Exception as e:
            print("Dll load error: ")
            print(e)
            return
        else:
            try:
                dll.PrScrn(0)
            except:
                print("Sth wrong in capture!")
                return
    
    
    def main():
        im = ImageGrab.grabclipboard()
        if 'image' in str(im):
            #print(im)
            pyperclip.copy('test')
            assert isinstance(im, object)
            im.save("ocr.png")
            img_path = os.path.join(os.getcwd(), "ocr.png")
            content = vcode2str(img_path)
            ui.setOcrText(str(content))
            #mytext=fanyi(content)
            mytext=my_translate(content)
            ui.setTransText(str(mytext))
            os.remove(img_path)
            time.sleep(2)
        else:
            pass
            #print("请检查是否正确截图后重试!")
    
    import win32con,win32gui
    import win32clipboard as cb
    class MyWindow():         #剪切板监听
        def __init__(self):
            #注册一个窗口类
            wc = win32gui.WNDCLASS()
            wc.lpszClassName = 'MyWindow'
            wc.hbrBackground = win32con.COLOR_BTNFACE+1
            wc.lpfnWndProc = self.wndProc
            class_atom=win32gui.RegisterClass(wc)
            #创建窗口
            self.hwnd = win32gui.CreateWindow( class_atom, u'OCR',
                                               win32con.WS_OVERLAPPEDWINDOW,
                                               win32con.CW_USEDEFAULT,
                                               win32con.CW_USEDEFAULT,
                                               win32con.CW_USEDEFAULT,
                                               win32con.CW_USEDEFAULT, 0,0, 0, None)
            # 显示窗口
            # win32gui.ShowWindow(self.hwnd, win32con.SW_SHOWNORMAL)
        #消息处理
        def wndProc(self, hwnd, msg, wParam, lParam):
            if msg == win32con.WM_DESTROY:
                win32gui.PostQuitMessage(0)
            if msg == win32con.WM_DRAWCLIPBOARD: #当剪切板更新的时候收到这个消息
                main()
                return win32gui.DefWindowProc(hwnd, msg, wParam, lParam)
    def my_translate(in_str):
        import requests
        import json
        url = "https://aidemo.youdao.com/trans"
    
        data = {
            "q": in_str,
            "from": "ja",
            "to": "zh-CHS"}
    
        headers = {
            "User-Agent":"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Mobile Safari/537.36",
            "Referer": "https://ai.youdao.com/product-fanyi.s"
        }
    
        response = requests.post(url, data=data, headers=headers)
        html_str = response.content.decode()  # json字符串
        dict_ret = json.loads(html_str)
        ret = dict_ret["translation"]
        print("翻译结果是:", ret)
        print("\n")
        return ret
    
    if __name__ == '__main__':
    
        import sys
        app = QtWidgets.QApplication(sys.argv)
        MainWindow = QtWidgets.QMainWindow()
        ui = Ui_MainWindow()
        ui.setupUi(MainWindow)
        MainWindow.show()
    
        mw = MyWindow()
        cb.SetClipboardViewer(mw.hwnd) #注册为剪切板监听窗口
        win32gui.PumpMessages()
    
        sys.exit(app.exec_())
    
    
    
    

    使用效果:

    原图片:

    图片文本: 水没した際の応急処置水抜き内部に侵入した水を抜いてください。2.水洗い…19ページ「海での使用後の基本的なメンテナンス順序」をご参照ください。3.乾燥…19ページ「海での使用後の基本的なメンテナンス順序」をこ参照ください。4.オイル注油…16~17ページ「注油についてのご注意」をご参照ください。オイルの付け過ぎはかえって回転を悪くする場合があります。※長く噴霧させると逆流します。決してグリススプレーは使用しないでください●お願い以上はあくまで応急処置です。不意に水没された場合は、できるだけ早く当社のメンテナンスを受けられるよう、最寄りの小売店にお預けくださいa※メンテナンス価格はおおよそ¥3,500プラス部品代になりますが、状態によって異なります。


    翻译结果是: ['请在水中进行应急处理拔出进入内部的水。2.水洗……请参照19页“在海使用后的基本维护顺序”。3.干燥……请参照19页“在海使用后的基本维护顺序”。4.加油!请参照16~17页“关于加油的注意”。如果你涂太多油,反而会造成旋转速度变差。※长时间喷雾的话逆流。绝对不要使用润滑剂●拜托以上的话只是应急处理。如果是突然被水淹没的话,为了能尽早接受本公司的维修,请寄放在最近的零售店。a *维护价格大约为3,500加的零部件价格,根据状态不同会有所不同。']

    感谢大神https://github.com/1061700625/OCR, 代码主体是参照这个的,微信dll在里面有下载。

    展开全文
  • 好用的截图截屏工具,小体量大功能,方便平时需要对比文本or对比图片的小伙伴,右键打开option可以更改快捷键,推荐使用CTRL+Q,截图后图片自动浮在桌面最上层,按ESC键可以删除,最多支持10张,右键图片可以去掉...
  • 5.1 命名形式比较规范的截图命名形式如下:[语言]_[操作系统]_[类型]_[编号].GIF其中方括号中的内容包含测试环境和缺陷类型的信息,各项含义如下:* “语言”---被测试软件的语言名称,使用Chs/Cht/Jpn/Kor表示,...

    5. 截图的命名规则

    为了更好的传递缺陷图像的信息,对于截图文件应该按照统一的命名准则对图像文件名进行约定。

    5.1 命名形式

    比较规范的截图命名形式如下:

    [语言]_[操作系统]_[类型]_[编号].GIF

    其中方括号中的内容包含测试环境和缺陷类型的信息,各项含义如下:

    *  “语言”---被测试软件的语言名称,使用Chs/Cht/Jpn/Kor表示,分别代表简体中文/繁体中文 /日文/韩文

    *  “操作系统”---测试所用的操作系统的名称,使用Win/Mac表示,分别代表Windows和 Macintosh操作系统

    *  “类型”---软件缺陷类型的名称,使用Trans/UI/Func表示,分别代表本地化/用户界面 /功能软件缺陷。

    *  “编号”---如果一个缺陷包含多个截图,需要对各个截图进行编号,使用“1”,“2”,“3”等数字表示;如果仅包含一个截图,则可以省略编号

    5.2 命名示例

    对于在Windows操作系统上测试的简体中文软件,如果截图包含翻译错误,并且只有一个截图,则方式命名为 “Chs_Win_L10n.Gif”。

    5.3 说明

    * 为了更清楚地描述缺陷特征,“Trans”可以具体使用 “Unloc”,“Error_Loc”,“Inconsistent_Loc”,“Over_Loc”表示“未本地化”,“错误的本地化”,“不一致的本地化”,“过度本地化”。

    * “UI” 可以具体使用“Overlapped”,“Disaligned”,“Truncated”,表示“重叠”,“未对齐”,“截断”。

    6. 截图的其他注意事项

    * 同一个测试项目中,截图的编辑方式、命名规则、存储类型等信息要保持一致;

    * 避免只有截图,而没有对截图进行编辑,没有标出缺陷特征,或者缺陷特征描述错误;

    * 某些测试项目,可能需要同时对本地化软件和英文源软件都要截图和编辑;而另外一些测试项目,可能仅需要对本地化的软件进行截图和编辑。(以上言论仅代表作者的个人观点,不代表51Testing观点)

    33/3<123

    展开全文
  • VC的截图软件

    2015-04-07 22:09:37
    使用VC6.0开发品台,和win32开发技术,附有源代码,编译后直接运行
  • 截图参考软件

    2019-02-13 10:00:07
    如果是一张图片或者网页,一直来回切换非常的麻烦,这款神器就是像截图一样,裁切某个区域悬浮于你的屏幕上,可以随意拖动,双击放大缩小,快速截图快捷键是Ctrl+1,因为是日本人开发的,语言是日文,不过也不影响...
  • Setuna,快捷截屏工具

    2019-01-24 11:31:06
    超便捷截屏工具,ctrl+0或者ctrl+1加鼠标下拉操作即可截屏截图可以双击变小,按esc取消截图
  • 日文配列键盘修改和映射自定义

    万次阅读 2016-12-27 15:53:36
    5.这个是工具截图 工具源自咖啡日语论坛 http://pan.baidu.com/s/1jH8Le3W 提取码:l18v < http://coffeejp.com/bbs/thread-390250-1-1.html > NO.2 手动自助修改注册列表 这个方法...

    最近入手一把Filco日本91配列的奶酪绿来敲敲代码,91配列和国内使用的87配列使用起来有点不同,如果直接把日本配列的键盘用在当前的中文系统下面的话,会出现键帽和实际输入的符号不一样的情况,为此特别研究了一番。本文提供两种解决方案和两个自助式的映射修改工具。


    NO.1 一键傻瓜式的修改键盘布局

    原贴于咖啡日语发布发布,其工具原理是将windows注册列表中所有语言默认的键盘布局改成日语配列布局(可以参照NO.2的方法)。这个方法的好处在于简单易用,适合不经常换键盘的台式机电脑使用,笔记本建议移至NO.2的方法,但是坏处就是如果不知道原理将不懂得还原键盘布局为日后换键盘留下小麻烦╮(╯▽╰)╭

    友情ps:日语配列中大小写要CapsLock+shift才可以切换大小写,

    工具中修改键盘驱动是这样来弄的,以win10为例子

    1.右键这个东东会出现一个列表,我的是因为的操作系统所以是Device Manager,中文操作系统选设备资源管理器就可以 了

    2.然后出现(图1),选键盘(Keyboard),找到你的设备,刚插上去应该是HID Keyboard Device,但是可能不止一个这个,因为比如我的SteelSeries rival 100在这里面也显示HID Keyboard Device,如果分不清的话建议属性中的细节中查看设配上次到达时间来区分如(图2)


    图1


    图2

    4.这一步需要说明的是比如我的奶酪绿就不支持这个ps/2的标准驱动,疑似使用的usb接口不兼容这个驱动也不太懂。但是有其他的106/109日文配列驱动替代 比如我图2用的那个Microsoft Basic Keyboard(106/109)就是

    右键日文配列的键盘改驱动为Japanese ps/2 keyboard(图3)


    图3

    ②选下面那个,对应中文应该是从我的计算机中找到驱动软件,出现(图4)然后按图中的箭头点


    图4



    图5

    ⑥图6、图7、图8分别是三个驱动都是日文配列的键盘用的,只要更换完你的键盘能打的出字就可以了,已知91配列的奶酪绿圣手2 用usb连电脑的话不用ps/2转接头用图6那个不行后面两个都可以


    图6


    图7


    图8


    5.这个是工具截图


    工具源自咖啡日语论坛

    http://pan.baidu.com/s/1jH8Le3W 提取码:l18v

    <http://coffeejp.com/bbs/thread-390250-1-1.html>


    NO.2 手动自助修改注册列表

    这个方法之所以说比较适合笔记本用户是因为比如我这种笔记本用户经常需要外接各种不同的键盘,有时候也用笔记本键盘啊~   但是如果只有外接的时候用日文配列的,不外接的时候用的是US配列的键盘怎么办?所以说我们要学会自己知道怎么改啦!

    准备请参考NO.1把键盘的驱动改成日本配列的

    1.win+r 出现下面这个运行窗口,然后打上regedit就和图片里的一样


    2.然后会出现下图样子的窗口,从左侧列表中找到这个地址随便点开00000xxx就会想下面图片这个样子,图片里面是拿简体中文举列子

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\KeyboardLayouts


    3.所有的十六进制编号都表示你现在系统使用的语言,具体是哪种你点击对应十六进制的文件就能在右边Layou Text中看到


    找到对应想修改的,将LayoutFile后面的KBDUS.dll改成KBDJPN,dll即可,当然如果要改回来只要把KBDJPN.DLL改成KBDUS.DLL就reboot一下就有 效果啦,NO.1中的方法其实和这个是一样的,只是它把全部语言的都换了而且还不设置还原选项的(# ̄~ ̄#)

    再次友情提醒在日文配列下大小写切换是CapsLock+shift   在这里栽了好大的跟头才起的 ~~


    接下是推荐的两款修改映射的工具其原理是也是修改注册列表,详情可以见扩展阅读,这两款软件本质上做的和扩展阅读是一样的

    扩展阅读<http://forum.51nb.com/thread-1110747-1-1.html>


    1.SharpKeys

      软件很简单用两三分钟研究研究就可以了,当然不喜欢英文也可以找汉化版,不过建议用的最新

      链接<https://sharpkeys.en.softonic.com/>

    2.KeyTweak

      这个比上面的sharpkeys功能全,但是如果你不用改键改成宏的话还是用上面那款就可以了

      这个建议找个汉化版下把


    好啦,教程到这里结束有疑问的小伙伴可以在评论里留言( ╯▽╰),最后秀一下刚入手的宝贝




    展开全文
  • 天韵英语学习软件是一款简单好用的英语教学软件软件适合“初学者”和“自学者”,专门针对新概念英语内容设计,帮助用户解决单词记不牢,音标不会读,读不准,课文不会读,课下没人辅导等一些...天韵英语学习软件截图
  • Illustrator 和 InDesign 软件中直接就包含了这样的「复合字体」功能。动森所使用的这款「ロダンわんぱく」字体的假名设计就相当活泼。假设保持这段日文对白中的汉字部分不变,只把假名变成思源黑体,整段文字也就少...

    151f0a41429b879c95b84672049dd441.gif

    f47b79cf6799157e7f69fc13b50affd5.png

    53e16d82a8b77ce5f8392742613800c2.png本文来自微信公众号「3type」(邮箱hi@3type.cn),作者微梨,原标题《从塞尔达到动森:在游戏里使用综艺体是否搞错了什么?》,爱范儿经授权发布。昨天正准备登岛,在事务所和两只狸子办理登记手续的时候,感觉它们所讲的话有些不对劲儿。怎么回事呢? 524a3e977a55757b814618b3b8d69bf5.png这并不是狸子们的问题,而是游戏所使用的中文字体有点奇怪。在《集合啦!动物森友会》的官方中文版中,对白字幕所使用的字体全部为 综艺体9f98367eb9ee9cebb7d5b9bfae0ef181.png 综艺体是怎样一种字体?就算你没听过「综艺体」这个名称,也一定对这款字体有印象 —— 因为它的风格实在是太明显了。笔画高度几何化,几乎每一笔都被变形成了直线,但保留了撇捺末端较小的圆弧转角,在方形结构的右下角处,也额外做了弧线处理。 22e70c20e760d88e35368a721b00f9df.png综艺体也是街头店招的常客综艺体诞生于上世纪 70 年代,由香港设计师郭炳权设计,其标志着现代「美术字」中文字库的出现。后来,郭炳权将这款字体卖给了日本写研公司,写研为其追加了假名设计(设计师为铃木勉),以「创举兰」为名,推出了用于照相制版的字体家族。 db48196e9e542f729e7e300f8d950e0c.png创举兰与综艺体在细节上有诸多差异,但设计手法完全一致泛用型的计算机字库「综艺体」则由华康公司开发,此后传回大陆。后来,各大字库厂商几乎都推出了自己的综艺体。除了创举兰和综艺体,使用类似的设计手法、对汉字笔画进行几何化处理,以此得到的「美术字」风格的字体则更多了。蒙纳的超刚黑、汉仪的菱心体、张海山锐线体、造字工房版黑体等等,单就汉字骨骼变形的处理手法而言可谓殊途同归,这也是现代几何化中文字体设计最常用的手法之一。 fa29d460d1bb2026216e542c08ba45eb.png一直广受欢迎的汉仪菱心体便是综艺体的变体而这类字体,从设计之初就是用于标题广告等场合的。 0ccd9d4312f9d2912cff5c33b3451f24.png 「用于读的字」和「用于看的字」简而言之,字体可以划分为这样两大类,英文称作 text 和 display,中文直译为「文本」和「展示」,或引申作「正文字」和「标题字」。所谓「正文字」,顾名思义,通常用于大段的正文内容。其最主要的要求在于「易读」;另外,对于正式出版物而言,字形还必须「规范」,符合规范汉字的写法。通常而言,中文的正文字体可分为宋体、黑体、仿宋、楷体四类,而每一类之下,还有区别或多或少的各款字体。比如,「华文黑体」、「方正兰亭黑」和「思源黑体」同属黑体,但设计上完全不同。这种设计上的差异通常不会被一般读者察觉,但是对实际阅读体验的影响是潜移默化的;而让大段文字「读着不累」,也就是正文字体设计师所要追求的目标。 e530f70ef3fa4851c9160afcb0eae3a9.png思源宋体(左)和华文宋体(右)的正文排版效果而「标题字」则更加注重「风格新颖,醒目美观,具有吸引力,易认易识,既有艺术性又兼有实用性。」我们在街头招牌、或是网页 banner 上看到的,带有些许创意的字体,大多属于这一类。 1a7909500df21c3b94801381d527765a.png随手打开一个购物 app,首页上看到的字体就算「标题字」在德语中,Text 和 Display 两类字体被称作 Leseschrift 和 Schauschrift,字面意思就是「用于读的」(Lese-)和「用于看的」(Schau-)字体。这既是字体设计师所要考虑的设计目的,也是平面设计师(字体使用者)的使用指南。不过在实际使用中,二者的分界也并不十分明确,尤其是类似上图中的粗黑体字。有些正文字体放大后用作标题展示也很美观醒目。不过,对于标题字而言,如果用来排大段正文内容,通常是不合适的。在当代西方字体设计中,有时同一家族的字体也会区分 Text 和 Display 用途。这两者通常会用一个称作「视觉尺寸」的参数进行区分,其含义差不多就是「包含多少『用于看』的元素」。 5b3ad065e134363c9827d5904538d501.png一款可变字体的两种样式,以及排版效果示意 「标题字体」在游戏中的使用读到这里,想必大家已经知道了《集合啦!动物森友会》中的字体出了什么问题。虽然游戏中的对白字幕算不上「大段」正文,但也无疑属于「用于读的字」,却使用了为标题广告而设计的综艺体。 3e4441fc94072caa053e6e3aac3c7b57.png综艺体这款经典的字体不止一次被用于游戏中。《塞尔达传说:旷野之息》中,地名标题使用的也是综艺体。不过在《旷野之息》中,综艺体的确是被用作「标题字」的,显得还算合适;而游戏中的对白和其他说明内容,则使用了颇具特色的倾斜黑体字。 624b4a6cac8c35e2617490342c8f4299.png《旷野之息》中的综艺体地名《歧路旅人》官方中文版,更是在界面上全盘使用了 新魏体。新魏体原是书法字体,于上世纪 70 年代被设计成印刷字体。当时认为「新魏体风格新颖,笔画造型也很有规律,很适宜于制作印刷活字,排印书籍报刊作标题。」而以小字号用在游戏中,(尤其是在 Switch 的小屏幕上,)就显得非常模糊了。当然了,「也不是不能用」。 bc77bddb013c94bc28cf64d50c60d4e5.png 171a5c56c83fff5eb11de43f48424624.png《歧路旅人》中的新魏体,这款字体中的全宽数字也让人一言难尽我也浏览了一下手游方面。最近一些比较热门的游戏多以黑体作为主要字体(这些游戏的背景设定本身也偏严肃,废土科幻之类的),不过也存在将「标题字」用作正文甚至界面元素的现象。比如,《永远的七日之都》同样使用了综艺体作为对白字幕字体。 b3c0ae9d1f8abb6c37a0f171ae426ab2.png这张截图中角色姓名和界面元素又用了另外两种字体另外还有一些别的例子,比如下面这两款游戏。 b5802be49d0664d583f436bfb90abb89.png d7b0215c4ca52d7b1adcc834a83024cf.png虽然说这样的使用背离了字体设计的初衷,但也只能算作是游戏界面美术设计上的一种选择,对此我并不打算作过多评价。单就之前提到的几款汉化游戏而言,我们不妨换个角度,看看在其他语言的本地化设计上,是怎样选用字体的。 c6bdaf733175f8d815f9ef96b4b3d343.png 动森日文什么样?直接「抄作业」不行吗?我们来看一下《集合啦!动物森友会》的英文版和日文版,是怎样选择对白字体的。 c4a2b4ba525f5940260522108113b28e.png e632352c4d0577d00ba8264d02feb576.png 0a736ae6a620c5e77d55067a9f54b7bc.png 477b20ef3ba8bf6154956db86590270d.png可以看到,在这两种语言的版本中,都选择了看上去比较普通的黑体 / 无衬线体作为对白字幕的字体。这款字体名为「 ロダンわんぱく」,日文和英文是匹配设计的同一款字体。那么,中文版是不是直接使用普通的黑体更好呢?可以当然是可以的。比如,我们尝试使用思源黑体替换一下这段内容。 5279d791ed8dfdab53b6c6a37b33bb37.png用思源黑体替换的截图。(自制)这样真的更好吗?或许你会觉得,比起英文版和日文版,这样的中文字体又显得过于严肃了。比如,我们把英文版的字幕换成 San Francisco(苹果手机 / 电脑的系统字体): 892acd23e78319f060c9eebca4dac75d.png用 SF Text 替换的截图。(自制)这里就涉及到了英 - 中字体匹配设计时很重要的一个问题:正文字体风格的多样性,或者说「宽容度」。对于英文的正文字体而言,可以严肃如 Helvetica,也可以几何如 Futura。由于英文字母结构简单,这些字体用于大段的正文,对于可读性的影响都不会特别大。而汉字正文字体则只能在很小的范围内发挥,一旦做过了头,就没法再被称作「正文字体」了。 0bd3a6d5d1f0507795dbaa4b1a2c6e1a.png不同风格的正文无衬线体那日文呢?日文中也有汉字,直接对着日文版「抄作业」总可以了吧?—— 还真不一定。虽然日文中包括我们可能认识的汉字,但是汉字在现代日语中的占比不超过一半。而那些我们不认识的部分 —— 平假名和片假名,才是一段日文文本效果的决定性因素。现在的日文字体设计,尤其是正文字体方面,越来越倾向于使用已有的汉字匹配新的假名了。毕竟汉字动辄数千,假名仅不过二百,起到的作用却更显著,可发挥的设计空间也更大。而在字体使用的角度,设计师为汉字和假名选择不同的字体也是很常见的做法。Illustrator 和 InDesign 软件中直接就包含了这样的「复合字体」功能。动森所使用的这款「ロダンわんぱく」字体的假名设计就相当活泼。假设保持这段日文对白中的汉字部分不变,只把假名变成思源黑体,整段文字也就少了点趣味。 b18ef4055205d9df66e126379c34b264.png用思源黑体假名部分替换的截图。(自制)做的时候发现,日文动森字幕中的假名没有开启变宽选项,也没有设置字偶间距 —— ん和て的间距显得太大了。我猜测,或许这就是中文版选择使用综艺体的原因:只用黑体显得太过严肃,那么就选择一个「设计感强一点的」字体吧。 9f2b83fe0559f40c5e48cf73c835340d.png 「另辟蹊径」的本地化《旷野之息》则是另一种情况。这款游戏中的英文字体是任天堂自制的「 Zelda Glyph」字体。这款字体的风格和早期《塞尔达传说》标题字「Zelda」字体一脉相承,尖锐的三角形衬线是其最主要的特征。大写字母带有装饰元素,配合小型大写字母使用。 b80c1d5f89e70390976d778800e24b74.png除了英文版的地名标题等内容,其他语言版本中出现的纯英文也使用这款字体,比如「大师模式」载入画面中的「Master Mode」。 a06e15756a2bd22a0100eddf6e7a8134.png 3e8ce2fd91d91bbf6ce1752c394083cd.png《塞尔达传说》系列 logo(Wikipedia)日文字体则使用了 Laglan Punch的汉字部分,搭配「 ロゴ G ブラック」的假名部分。这两款字体都是超粗的标题用黑体,从这个角度看,中文使用综艺体也并无不妥。 035be87ac6757d50d4e98f225ab0c465.png《塞尔达传说》开发过程中的字体选择(jp.ign.com)顺带一提,Laglan Punch 就是 Trigger 动画《斩服少女》中那款极具视觉冲击力的字体的原型(动画中作了粗糙化处理)。 e31122fec4275f839ce9849a85632ec8.png《斩服少女》中的文字演出(kill-la-kill.fandom.com)至于《歧路旅人》,日文版使用的字体是 New Cinema。这款字体源于设计师佐藤英夫于上世纪中叶制作的手写电影字幕字体。虽然看上去风格强烈,但其设计目的是「消除字幕的存在感」,并且为大银幕的环境而设计,可读性本身就很强 —— 因此即使是在 Switch 的小屏幕上,依然非常清晰。 6a13b4ba3b63176d8030e8fad738540f.png 24fbdc6abbe38d179237de76d3ac9acf.png这款字体也是动画片中的常客,今年一月新番《虚构推理》的 ED 就用了另一个版本的(带缺刻的)New Cinema。 d38ebe3d03cd41e523642fe1d7114166.png《虚构推理》ED 字幕《歧路旅人》的英文版使用了一款风格类似的字体,名为 Skech(名字里没有 t)。 f9199ecec597229df1bba5198ebd78c4.png d31cbe981c824b470d7504e81b423cec.png这里中文版的难处在于,还没有过这样风格的中文字体。据说《怪物猎人:世界》的繁体中文版字幕使用了这款字体的繁体中文扩展版,似乎不是官方的。 37e3ad2bf00e8409360c5b93eee827fa.png《怪物猎人:世界》繁体中文字幕(bilibili)不论如何,《歧路旅人》官方简体中文版的新魏体是很奇怪了。尤其是这一版新魏体还搭配了行书体的西文部分,所有数字和金钱符号出现的地方都极其扭曲。或许本地化设计团队想借此传达出一种贴合游戏背景的中世纪风情,但显然不太成功。 0c9689d91e6b4b1bbd88c830277d5a56.png 9359e708414f86383b31743915406709.png 汉化字体选择的窘境游戏中文化的字体选择并不容易。中文字体的种类远不及英文和日文,还存在着前文中提到的「风格区间较窄」的情况。除了原版就使用比较常规的衬线体或无衬线体的情况,要想在带有风格化的字体基础上作中文匹配,能直接找到合适字体的可能性很小。那么,另一种思路就是像《旷野之息》的日文版 / 英文版,以及《歧路旅人》的汉化一样,根据整体风格寻找新的字体。再或者,像《愤怒的小鸟》或《皇室战争》一样,专门推出一款定制的中文字体。当然了,这首先要在经济上允许。 ad0f2ad8fd6ae30e3f42ae36c3b05744.png《皇室战争》中文定制字体(fontke.com)在这种情况下,很多游戏的汉化最终采取了成本最低、风险最小的方式 —— 不论原版为何,中文版都直接用黑体。早期 App Store 上的游戏很多都是这样,此外我印象较为深刻的是 2008 年的《红色警戒 3》。英文版中使用了一款漫画感极强的定制字体(可能也算得上是「标题字错位使用」的例子了),中文版中则荡然无存。 0f69b3cbededdacf54ea09fe4b21ce37.png《红色警戒 3》英文版的界面字体(technogog.com) 01b73af9828adc117b33e7b20dd37106.png《红色警戒 3》繁体中文版界面(图为资料片《起义时刻》)(www.gamersky.com)另一类问题出在像素风的独立游戏上。大部分像素游戏都找不到能够匹配的汉字像素字体,其中主要原因在于汉字的结构复杂,无法在较小的尺寸下清楚表达。此外,如今的像素游戏仅仅是风格上的(技术上已经可以做到高清),所以有些汉化会直接在像素画面上加上高清的中文文本,产生极强的错位感。

    22f0d45c9feff5e8111a1a3bd5da620c.png

    3type 近三年来的正在开发的的「丁卯点阵体」项目即是为了解决这方面的字体缺失。「丁卯点阵体」是小至极限的中文字体家族,包括 7×7 和 9×9 两款。9×9 适用于大多数像素游戏,7×7 则更极端,可以用作较小的说明文字,或者用于 5 像素英文游戏的汉化匹配。 097970730e80928c69141cfd85c49ce9.png《节奏海拉鲁》的官方中文版字体显示效果不佳。 6c9fa25e51d1e262597ef732ae272997.png e18df5b4993d1fadff3a3e2f605630dd.png「丁卯点阵体 9px」的匹配测试,以及日文原版对比

    4f81654c08900776fe6c09df2e784eb2.png

    《Tiny Tower Vegas》中字体仅 5 像素高,难以匹配汉字 d895ad1f71df056c93dd33e60516b9a1.png
    「丁卯点阵体 7px」的匹配测试 31ea0b31961e134f411340dfb998be75.png 结语字体设计师大曲都市去年出版了一本《街机游戏字体》(Arcade Game Typography),其中谈到了早期电子游戏中的字体设计:「…… 可以明显看出开发人员缺乏对英语和拉丁字母的日常接触。…… 你会发现许多奇特的地方,它们最好是被看作一种天真幼稚的产物,而非缘于创意。」

    37aba4f4057dad2c159474d10e55b27d.png

    《吃豆人》(Pac-Man,1980)的游戏界面,注意其中有限的文字,生命值和关卡数都以图形标注在下方。对于 E、Y 等字母的设计作了妥协,导致字距过大(Wikipedia,图片经扩大处理)在电子游戏诞生之初,早期的游戏性都停留在「算法」上,诸如《乒乓》、《贪食蛇》乃至《俄罗斯方块》。在那时,游戏中的文字仅为了满足最重要的功能性需求,例如计分器或是「请投币」的提示语。后来,游戏越发带有了「叙事」的特性,文字的重要性越来越强,字体也因此成为了游戏艺术中不可或缺的一个元素。这篇文章仅就「中文本地化」这一话题简述了几点想法,而「游戏中的字体选择」可以是一个相当宏大的话题。本文仅作抛砖引玉,希望更多玩家和设计师能够关注到这方面。 7f9a44c69437307334833518c89c3e87.png 071db3c52711a1f66272b7a56be05875.png iPad Pro 新玩法新 iPad Pro 怎么玩?有了激光雷达的 iPad Pro ,不仅仅可以写书法,还能量身高,一键换鞋,「球鞋自由」离你不远了。更多新奇黑科技解密、酷炫产品,来爱范儿视频号,1 分钟全了解。👇🏻 注:微信视频号仍在内测, 部分用户暂未开放

    740d92514e00782adf04e93f0311e4e2.gif

    喜欢这篇文章就点这里

    b54c1c895c7800cbc90043883bba1618.gif

    展开全文
  • 引语: 之所以是第二篇是因为又加了个日语转罗马音的功能。应用的是kasisi进行转换的。但是中间遇到了一些用pyinstaller打包的问题。 所以在此一并记录,以怕忘记。 1.ui设计师转换为py文件命令: ...
  • 一款针对日语的OCR工具。 可以根据日语文字截图来转换成日语文本,便于翻译日语的情形。 是从google上找到的,这个本身就是免费软件
  • 日文 LaTeX 系统介绍 - 最简示例

    千次阅读 2016-05-18 12:57:13
    LaTeX 中书写日文。今天的内容需要动手操作试试,要用不同的引擎和宏包写一些 Hello world 类型的文档。 今天的内容同样会涉及到一些配置 TeX 环境的内容,会讲一讲如何在 TeX Live 里配置书写日文的...
  • 《定时执行专家》是一款制作精良、...软件使用 Unicode 编码,可以在英文、日文等外文 Windows 系统下正常使用,并且软件带有中、日、英多国语言界面版本,可自由切换。软件无需安装,无使用时间限制,欢迎下载使用。
  • 这意味着苹果的iPhone和iPhone的平板电脑的速度相当快 经过截图对比,似乎两款软件不相伯仲,只有体验之差,大家更喜欢哪一款呢? 二、日文视频对比测试: 目前谷歌浏览器并未提供到英语之外的字幕,故本次仅简单提...
  • 商速多语言进销存软件是一款功能齐全、使用简单、维护方便的综合进销存管理软件软件界面直观、符合大众操作习惯,经过十多年的实践与完善,整合了商品管理、进货管理、仓库管理、财务管理...商速多语言进销存软件截图
  • 开启电脑后又忘记关机的情况,相信不少网友都曾遇到过。如果时常出现类似的现象,就需要一款使用方便的自动开关机软件了,毕竟开机太久也会影响硬件的寿命!...软件使用 Unicode 编码,可以在英文、日文等外文 W
  • 在科技日新月异的今天,我们的生活时刻发生着变化。如今大数据、AI人工智能横行,没一点真本事真还不能在市场上进行...后面一点再来测试日文AI字幕。 一、英文视频对比测试: 本次测试视频为the veger评测团队带来的
  • 软件测试总结(一)

    2020-12-18 15:03:00
    1.什么是软件测试 软件测试定义:使用人工或者自动手段来运行或测试某个系统的过程,其目的在于检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别。它是帮助识别开发完成(中间或最终的版本)的计算机软...
  • 精小的截图工具

    2012-06-06 15:38:49
    很小,很精悍的截图工具。希望对大家有用。自定义捕捉ctrl+a,窗口捕捉ctrl+z
  • 提起程序信息本地化/国际化解决方案(本地化和国际化是指让软件支持多国语言的显示), 很多人首先可能会想到大名鼎鼎的GNU GetText, 的确这是一个很优秀的解决方案。另外,还有一种方式是操作程序的资源文件。 ...
  • 本文为《大话软件测试》的读书笔记,仅作为本人梳理知识所用,并且只对本人认为的重点进行记录。 本书是以问答的形式来进行软件测试的基础知识普及的,因此感觉相对于之前看的基本纯理论的书来说,更加轻松,但是...
  • 软件使用 Unicode 编码,可以在英文、日文等所有外文 Windows 系统下正常使用,并且软件带有中、日、英多国语言界面版本,可自由切换。 这次版本升级间隔了10多年,在《PC定时执行专家 4.0》的基础上,做了重大升级...
  • 这个软件就是模仿那个打字练习游戏做的,不过比那个多了个练习日文假名的功能,希望大家喜欢,更重要的是希望老婆和宝宝喜欢! 软件使用C#.net开发,需要安装FW2.0喔。 软件下载地址:...
  • ※所有软件界面。 ※游戏截图界面。 ※手柄界面。 ※设置→支持界面。 ※设置→数据管理界面。 ※用户设置界面。 ※新的用户界面。 ※设置→主题界面。 ※设置→电视机输出界面。 ※设置→主机界面。 以上,不难...
  • 超强OCR文字识别软件图片转换文字软件软件的特点: 1. 软件不绑定单台电脑,可以存在U盘到任意电脑上使用。 2.一次购买终身使用,不存在使用几天过期的问题,有的卖家高价卖,但是10来天就不能用了,小心! 3....
  • 为便于大家快速检索王小虎编辑的...腾讯会议、Zoom等一系列的会议软件全部涌现出来,成为了重要的会议媒介,功不可没。现在开学后,由于疫情,大部分的国际会议还是以线上的形式进行,这种形式足不出户即可参加国...
  • 软件开发常用词汇中英文对照

    千次阅读 2017-12-20 17:16:27
    软件名称相关发音读法: Ajax [ey-jaks], ['eidʒæks] 发音地址参照: https://www.dictionary.com/browse/ajax?x=31&amp;y=17Nginx 是 Engine X 的缩写,官方给的发音为: [en-juhn-eks],国人有的发音为: ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,114
精华内容 445
关键字:

日文截图软件

友情链接: aa.rar