未验证 提交 4445314c 编写于 作者: A AUTOMATIC1111 提交者: GitHub

Merge pull request #10273 from AUTOMATIC1111/roboto-without-a-dep

Vendor Roboto font
...@@ -13,17 +13,24 @@ import numpy as np ...@@ -13,17 +13,24 @@ import numpy as np
import piexif import piexif
import piexif.helper import piexif.helper
from PIL import Image, ImageFont, ImageDraw, PngImagePlugin from PIL import Image, ImageFont, ImageDraw, PngImagePlugin
from fonts.ttf import Roboto
import string import string
import json import json
import hashlib import hashlib
from modules import sd_samplers, shared, script_callbacks, errors from modules import sd_samplers, shared, script_callbacks, errors
from modules.paths_internal import roboto_ttf_file
from modules.shared import opts from modules.shared import opts
LANCZOS = (Image.Resampling.LANCZOS if hasattr(Image, 'Resampling') else Image.LANCZOS) LANCZOS = (Image.Resampling.LANCZOS if hasattr(Image, 'Resampling') else Image.LANCZOS)
def get_font(fontsize: int):
try:
return ImageFont.truetype(opts.font or roboto_ttf_file, fontsize)
except Exception:
return ImageFont.truetype(roboto_ttf_file, fontsize)
def image_grid(imgs, batch_size=1, rows=None): def image_grid(imgs, batch_size=1, rows=None):
if rows is None: if rows is None:
if opts.n_rows > 0: if opts.n_rows > 0:
...@@ -142,12 +149,6 @@ def draw_grid_annotations(im, width, height, hor_texts, ver_texts, margin=0): ...@@ -142,12 +149,6 @@ def draw_grid_annotations(im, width, height, hor_texts, ver_texts, margin=0):
lines.append(word) lines.append(word)
return lines return lines
def get_font(fontsize):
try:
return ImageFont.truetype(opts.font or Roboto, fontsize)
except Exception:
return ImageFont.truetype(Roboto, fontsize)
def draw_texts(drawing, draw_x, draw_y, lines, initial_fnt, initial_fontsize): def draw_texts(drawing, draw_x, draw_y, lines, initial_fnt, initial_fontsize):
for line in lines: for line in lines:
fnt = initial_fnt fnt = initial_fnt
......
...@@ -3,7 +3,8 @@ ...@@ -3,7 +3,8 @@
import argparse import argparse
import os import os
script_path = os.path.dirname(os.path.dirname(os.path.realpath(__file__))) modules_path = os.path.dirname(os.path.realpath(__file__))
script_path = os.path.dirname(modules_path)
sd_configs_path = os.path.join(script_path, "configs") sd_configs_path = os.path.join(script_path, "configs")
sd_default_config = os.path.join(sd_configs_path, "v1-inference.yaml") sd_default_config = os.path.join(sd_configs_path, "v1-inference.yaml")
...@@ -12,7 +13,7 @@ default_sd_model_file = sd_model_file ...@@ -12,7 +13,7 @@ default_sd_model_file = sd_model_file
# Parse the --data-dir flag first so we can use it as a base for our other argument default values # Parse the --data-dir flag first so we can use it as a base for our other argument default values
parser_pre = argparse.ArgumentParser(add_help=False) parser_pre = argparse.ArgumentParser(add_help=False)
parser_pre.add_argument("--data-dir", type=str, default=os.path.dirname(os.path.dirname(os.path.realpath(__file__))), help="base path where all user data is stored",) parser_pre.add_argument("--data-dir", type=str, default=os.path.dirname(modules_path), help="base path where all user data is stored", )
cmd_opts_pre = parser_pre.parse_known_args()[0] cmd_opts_pre = parser_pre.parse_known_args()[0]
data_path = cmd_opts_pre.data_dir data_path = cmd_opts_pre.data_dir
...@@ -21,3 +22,5 @@ models_path = os.path.join(data_path, "models") ...@@ -21,3 +22,5 @@ models_path = os.path.join(data_path, "models")
extensions_dir = os.path.join(data_path, "extensions") extensions_dir = os.path.join(data_path, "extensions")
extensions_builtin_dir = os.path.join(script_path, "extensions-builtin") extensions_builtin_dir = os.path.join(script_path, "extensions-builtin")
config_states_dir = os.path.join(script_path, "config_states") config_states_dir = os.path.join(script_path, "config_states")
roboto_ttf_file = os.path.join(modules_path, 'Roboto-Regular.ttf')
...@@ -3,9 +3,7 @@ import json ...@@ -3,9 +3,7 @@ import json
import numpy as np import numpy as np
import zlib import zlib
from PIL import Image, ImageDraw, ImageFont from PIL import Image, ImageDraw, ImageFont
from fonts.ttf import Roboto
import torch import torch
from modules.shared import opts
class EmbeddingEncoder(json.JSONEncoder): class EmbeddingEncoder(json.JSONEncoder):
...@@ -136,11 +134,8 @@ def caption_image_overlay(srcimage, title, footerLeft, footerMid, footerRight, t ...@@ -136,11 +134,8 @@ def caption_image_overlay(srcimage, title, footerLeft, footerMid, footerRight, t
image = srcimage.copy() image = srcimage.copy()
fontsize = 32 fontsize = 32
if textfont is None: if textfont is None:
try: from modules.images import get_font
textfont = ImageFont.truetype(opts.font or Roboto, fontsize) textfont = get_font(fontsize)
textfont = opts.font or Roboto
except Exception:
textfont = Roboto
factor = 1.5 factor = 1.5
gradient = Image.new('RGBA', (1, image.size[1]), color=(0, 0, 0, 0)) gradient = Image.new('RGBA', (1, image.size[1]), color=(0, 0, 0, 0))
......
...@@ -11,8 +11,6 @@ torch ...@@ -11,8 +11,6 @@ torch
omegaconf==2.2.3 omegaconf==2.2.3
pytorch_lightning==1.9.4 pytorch_lightning==1.9.4
scikit-image==0.19.2 scikit-image==0.19.2
fonts
font-roboto
timm==0.6.7 timm==0.6.7
piexif==1.1.3 piexif==1.1.3
einops==0.4.1 einops==0.4.1
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册