Skip to content
This repository has been archived by the owner on Oct 20, 2023. It is now read-only.

opq-osc/pjsk

Repository files navigation

pjsk

啤酒烧烤表情生成通用版。

❗️EOL

项目可正常运作,但不再提供维护,如有自定义需求可 fork 使用

Preview

查看帮助一栏图

Directory

 - assets    # 图片、字体资源
 - compress  # 压缩字体脚本
 - mahiro    # mahiro 插件
 - node      # 核心逻辑

Usage

Install

  pnpm i

API

import { draw } from 'pjsk-node'
//                   ^ workspace name 
//                     relative path: './node/src'

await draw({
  text: '文字',
  character: 'ena',
  output: path.join(__dirname, './output.png')
})

Mahiro Plugin

mahiro 直接导入插件使用:

import { PJSK } from './mahiro'

// ...

mahiro.use(PJSK())

注:如需精确定位和配置,请修改 node/src/info.ts#characterSpecifiedConfig

Trigger

触发命令格式:

  pjsk {表情包ID} {文字}
  pjsk help

e.g.

  # 普通例子
  pjsk ena 不行,我在玩原神
  
  # 换行的例子
  pjsk nene11 我心脏弱
死给你看

Troubleshooting

canvas 依赖安装太慢

使用加速源:

# .npmrc
canvas_binary_host_mirror=https://registry.npmmirror.com/-/binary/canvas

字体加载失败 / 不高清

将字体安装到系统里再使用。

  1. 移动 assets/src/fonts/font.ttfassets/src/fonts/y.otf 两个字体文件到 /usr/share/fonts/pjsk/* 文件夹下。

  2. 设定 CJK 兜底字体:

      sudo apt install fonts-noto-cjk fonts-noto-color-emoji
      sudo locale-gen zh_CN zh_CN.UTF-8
      sudo update-locale LC_ALL=zh_CN.UTF-8 LANG=zh_CN.UTF-8
  3. 刷新字体缓存:

      fc-cache -fv
  4. 修改 node/src/draw.ts 中的 3 处代码:

    -const fontNameForFallback = 'pjsk'
    -const fontNameForMain = 'yyy'
    -const fontFamily = `${fontNameForMain},${fontNameForFallback}`
    +const fontNameForFallback = 'SSFangTangTi'
    +const fontNameForMain = 'FOT-Yuruka Std'
    +const fontFamily = `"${fontNameForMain}","${fontNameForFallback}"`
    -registerFonts()
    -fontWeight: 800,
  5. 重启 mahiro ,再次尝试。

Thanks / Inspiration