mirror of
https://github.com/HIllya51/LunaHook.git
synced 2024-12-24 20:24:13 +08:00
v8 font
Update lunajspatch.js Update lunajspatch.js Update lunajspatch.js
This commit is contained in:
parent
8f1cea6a4d
commit
f26a9a14ef
@ -1,6 +1,7 @@
|
||||
#include"types.h"
|
||||
#include"main.h"
|
||||
#include"v8.h"
|
||||
#include"embed_util.h"
|
||||
#ifndef _WIN64
|
||||
#define arg2 stack[2]
|
||||
#else
|
||||
@ -21,7 +22,12 @@ namespace{
|
||||
hp.hook_after=[](hook_stack*s,void* data, size_t len){
|
||||
HGLOBAL hClipboardData = GlobalAlloc(GMEM_MOVEABLE, len +2);
|
||||
auto pchData = (wchar_t*)GlobalLock(hClipboardData);
|
||||
wcscpy(pchData, (wchar_t*)data);
|
||||
std::wstring transwithfont;
|
||||
transwithfont+=L'\x01';
|
||||
transwithfont+=embedsharedmem->fontFamily;
|
||||
transwithfont+=L'\x01';
|
||||
transwithfont+=std::wstring((wchar_t*)data,len/2);
|
||||
wcscpy(pchData, (wchar_t*)transwithfont.c_str());
|
||||
GlobalUnlock(hClipboardData);
|
||||
s->arg2=(uintptr_t)hClipboardData;
|
||||
};
|
||||
|
@ -1,13 +1,34 @@
|
||||
|
||||
|
||||
var fontface='';
|
||||
function splitfonttext(transwithfont){
|
||||
if(transwithfont[0]=='\x01'){
|
||||
transwithfont=transwithfont.substr(1)
|
||||
split=transwithfont.search('\x01')
|
||||
if(split==-1)return transwithfont;
|
||||
fontface=transwithfont.substr(0,split)
|
||||
text=transwithfont.substr(split+1)
|
||||
return text;
|
||||
}
|
||||
else{
|
||||
return transwithfont;
|
||||
}
|
||||
}
|
||||
function NWjshook(){
|
||||
function NWjssend(s) {
|
||||
const _clipboard = require('nw.gui').Clipboard.get();
|
||||
_clipboard.set(s, 'text');
|
||||
return _clipboard.get('text')
|
||||
transwithfont=_clipboard.get('text');
|
||||
if(transwithfont.length==0)return s;
|
||||
return splitfonttext(transwithfont)
|
||||
}
|
||||
|
||||
if(Window_Message.prototype.originstartMessage)return;
|
||||
Window_Message.prototype.originstartMessage=Window_Message.prototype.startMessage;
|
||||
Bitmap.prototype.origin_makeFontNameText=Bitmap.prototype._makeFontNameText;
|
||||
Bitmap.prototype._makeFontNameText=function(){
|
||||
if(fontface=='')return this.origin_makeFontNameText();
|
||||
return (this.fontItalic ? 'Italic ' : '') +
|
||||
this.fontSize + 'px ' + fontface;
|
||||
}
|
||||
Window_Message.prototype.startMessage = function()
|
||||
{
|
||||
gametext = $gameMessage.allText();
|
||||
@ -22,13 +43,18 @@ function Electronhook() {
|
||||
function Electronsend(s) {
|
||||
const clipboard = require('electron').clipboard;
|
||||
clipboard.writeText(s);
|
||||
return clipboard.readText();
|
||||
transwithfont= clipboard.readText();
|
||||
if(transwithfont.length==0)return s;
|
||||
return splitfonttext(transwithfont)
|
||||
}
|
||||
if(tyrano.plugin.kag.tag.text.originstart)return;
|
||||
tyrano.plugin.kag.tag.text.originstart=tyrano.plugin.kag.tag.text.start;
|
||||
tyrano.plugin.kag.tag.text.start = function (pm) {
|
||||
if (1 != this.kag.stat.is_script && 1 != this.kag.stat.is_html) {
|
||||
pm.val=Electronsend(pm.val);
|
||||
if(fontface!=''){
|
||||
this.kag.stat.font.face=fontface
|
||||
}
|
||||
}
|
||||
return this.originstart(pm)
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user