[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

【完成】epub文档的修改字体颜色(80元)

本帖最后由 lxh623 于 2024-11-6 18:49 编辑

文档有两个颜色。译文是绿色,正文是黑色。
但是,有些偈颂,原文是绿色。想把偈颂规定为蓝色:#00a。(前面是sigil的写法。这个好像是普通的:#0000aa)
而偈颂的翻译颜色设置为:#2E8B57。或者也与别的翻译一样的颜色。
文件夹是有名或者後汉。
电脑显示正常,手机静读天下显示不正常。
谢谢!

链接:https://pan.baidu.com/s/1NZhKkTUoAV7eXlaT6RZ5vA?pwd=eke8
提取码:eke8

请查收!谢谢!

TOP

  1. <#*,:
  2. @echo off
  3. cd /d "%~dp0"
  4. set "batchfile=%~f0"
  5. Powershell -ExecutionPolicy Bypass -C "Set-Location -LiteralPath ([Environment]::CurrentDirectory);. ([ScriptBlock]::Create([IO.File]::ReadAllText($env:batchfile,[Text.Encoding]::GetEncoding(0) )) )"
  6. pause
  7. exit /b
  8. #>
  9. # 修改xhtml颜色
  10. <#
  11. <div class="lg-cell1"> <p class="lg-cell1">
  12. <div class="lg-cell"> <p class="lg-cell">
  13. <div class="lg-cell2"> <p class="lg-cell2">
  14. <div class="lg-row">
  15. <div class="lg">
  16. <!-- end of lg-row -->
  17. <!-- end of lg -->
  18. <div class="calibre3">
  19. </div>
  20. #>
  21. $re1 = [regex]'(?s)(?<o><div class="lg-row">)(?<body>(?><!--.*?-->|(?<o><div[^>]*>)|(?<-o></div>)|.)*?)(?<-o></div>)(?(o)(?!))'
  22. $re2 = [regex]'(?s)(?<o><div class="lg">)(?<body>(?><!--.*?-->|(?<o><div[^>]*>)|(?<-o></div>)|.)*?)(?<-o></div>)(?(o)(?!))'
  23. $re3 = [regex]'(?s)(?<o><div class="calibre3">)(?<body>(?><!--.*?-->|(?<o><div[^>]*>)|(?<-o></div>)|.)*?)(?<-o></div>)(?(o)(?!))'
  24. $re4 = [regex]'<div class="lg-cell[^"]*">(<span(?>[^>]*)>)((?>[^<>]*))<span data-immersive-translate-translation-element-mark="1" lang="zh-CN"><br class="calibre3"/><span class="notranslate3" data-immersive-translate-translation-element-mark="1"><span class="notranslate4" data-immersive-translate-translation-element-mark="1">((?>[^<>]*))</span></span></span></span></div>'
  25. $re5 = [regex]'(?s)(?<o><div id="body" class="calibre3">)(?>\s*)(<span(?>[^>]*)>)((?>[^<>]*))<span data-immersive-translate-translation-element-mark="1" lang="zh-CN"><br class="calibre3"/><span class="notranslate3" data-immersive-translate-translation-element-mark="1"><span class="notranslate4" data-immersive-translate-translation-element-mark="1">((?>[^<>]*))</span></span></span></span>(?<body>(?><!--.*?-->|(?<o><div[^>]*>)|(?<-o></div>)|.)*?)(?<-o></div>)(?(o)(?!))'
  26. $re6 = [regex]'<span data-immersive-translate-translation-element-mark="1" lang="zh-CN"><br class="calibre3"/><span class="notranslate3" data-immersive-translate-translation-element-mark="1"><span class="notranslate4" data-immersive-translate-translation-element-mark="1">((?>[^<>]*))</span></span></span></span></p>'
  27. $re7 = [regex]'<span data-immersive-translate-translation-element-mark="1" lang="zh-CN"><br class="calibre3"/><span class="notranslate3" data-immersive-translate-translation-element-mark="1"><span class="notranslate4" data-immersive-translate-translation-element-mark="1">((?>[^<>]*))</span></span></span></p>'
  28. Get-ChildItem -Path '.\epub解包后\*' -Filter *.xhtml -Recurse | Where-Object { $_ -is [IO.FileInfo] -and $_.BaseName -match '^\d+$' } | ForEach-Object {
  29.   try {
  30.     $_ | Resolve-Path -Relative
  31.     $text = [IO.File]::ReadAllText($_.FullName)
  32.     #     $text = $text -replace '<div class="lg-cell[^"]*">(<span(?>[^>]*)>)((?>[^<>]*))<span data-immersive-translate-translation-element-mark="1" lang="zh-CN"><br class="calibre3"/><span class="notranslate3" data-immersive-translate-translation-element-mark="1"><span class="notranslate4" data-immersive-translate-translation-element-mark="1">((?>[^<>]*))</span></span></span></span></div>', @'
  33.     # <p class="lg-cell">${1}${2}</span></p>
  34.     # <p class="tras">${3}</p>
  35.     # '@
  36.     $text = $re1.Replace($text, '${body}')
  37.     $text = $re2.Replace($text, '${body}')
  38.     $text = $re3.Replace($text, '${body}')
  39.     $text = $re4.Replace($text, @'
  40. <p class="lg-cell">${1}${2}</span></p>
  41. <p class="tras">${3}</p>
  42. '@)
  43.     $text = $re5.Replace($text, @'
  44. <p class="juan">${1}${2}</span></p>
  45. <p class="tras">${3}</p>
  46. ${body}
  47. '@)
  48.     $text = $re6.Replace($text, '</span></p><p class="tras">${1}</p>')
  49.     $text = $re7.Replace($text, '</p><p class="tras">${1}</p>')
  50.     [IO.File]::WriteAllText($_.FullName, $text)
  51.   } finally {
  52.    
  53.   }
  54.   trap {}
  55. }
  56. Get-ChildItem -Path '.\epub解包后\*' -Filter stylesheet.css -Recurse | Where-Object { $_ -is [IO.FileInfo] } | ForEach-Object {
  57.   try {
  58.     $_ | Resolve-Path -Relative
  59.     $text = [IO.File]::ReadAllText($_.FullName)
  60.     $text = $text -replace '\.(?>lg(-\w*)?)(?>\s*)\{[^}]*\}'
  61.     $text = @"
  62. $text
  63. .tras {
  64.   color: #008000;
  65.   display: block;
  66.   margin: 1em 0;
  67.   font-weight: bold;
  68. }
  69. .lg-cell {
  70.   color: #0000aa;
  71.   display: block;
  72.   margin: 1em 0
  73. }
  74.   .lg-cell1 {
  75.   color: #0000aa;
  76.   display: block;
  77.   margin: 1em 0
  78. }
  79. "@
  80.     [IO.File]::WriteAllText($_.FullName, $text)
  81.   } finally {
  82.    
  83.   }
  84.   trap {}
  85. }
复制代码
1

评分人数

微信:flashercs
QQ:49908356

TOP

本帖最后由 lxh623 于 2024-11-5 19:55 编辑

这里我自己修改了一个。新建文件夹。
链接: https://pan.baidu.com/s/1UkaEvEWzuaseBZ-MNUK7uw?pwd=9qfe 提取码: 9qfe
第一,
  1. <div class="lg-cell1"> <p class="lg-cell1">
  2. <div class="lg-cell"> <p class="lg-cell">
  3. <div class="lg-cell2"> <p class="lg-cell2">
  4. <div class="lg-row">
  5. <div class="lg">
  6. <!-- end of lg-row -->
  7. <!-- end of lg -->
  8. <div class="calibre3">
  9. </div>
复制代码
后面为空,就是删除。不知道以后会不会遇到<div class="lg-cell2">后面的数字编号。或者统一到<p class="lg-cell">。
<p class="lg-cell开头的行,最后加</p>。
第二,
<span data-immersive-translate-translation-element-mark="1" lang="zh-CN"><br class="calibre3"/><span class="notranslate3" data-immersive-translate-translation-element-mark="1"><span class="notranslate4" data-immersive-translate-translation-element-mark="1">替换为</p>\r\n<p class="tras">。
</span></span></span></p>替换为</p>。
<div id="body" class="calibre3">替换为<p class="juan">。
第三,样式文件。麻烦看一看我的文件。新建样式tras。
多余的样式,我没有删除,应该影响不大吧。

这个也是仅仅在解包文件夹的子文件夹修改。
第四,html修改之后,最好不要报错。
谢谢!

TOP

本帖最后由 lxh623 于 2024-11-3 19:56 编辑

回复 2# oAna
偈颂相当于顺口溜。那里在手机净读天下,不能与译文显示不一样的颜色。

TOP

改成这样?https://paste.c-net.org/StanceGoodwin

TOP

返回列表