From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Kjartan Oli Agustsson Newsgroups: gmane.emacs.devel Subject: [PATCH] Add user stylesheet support for doc-view EPUB support Date: Sun, 06 Mar 2022 17:12:50 +0000 Message-ID: Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="6689"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: mu4e 1.6.10; emacs 29.0.50 To: emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Sun Mar 06 19:16:57 2022 Return-path: Envelope-to: ged-emacs-devel@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1nQvRA-0001UB-V8 for ged-emacs-devel@m.gmane-mx.org; Sun, 06 Mar 2022 19:16:57 +0100 Original-Received: from localhost ([::1]:49118 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nQvR9-00032Q-LG for ged-emacs-devel@m.gmane-mx.org; Sun, 06 Mar 2022 13:16:55 -0500 Original-Received: from eggs.gnu.org ([209.51.188.92]:32932) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nQvCR-0000FB-RK for emacs-devel@gnu.org; Sun, 06 Mar 2022 13:01:43 -0500 Original-Received: from mail-oln040092074042.outbound.protection.outlook.com ([40.92.74.42]:56231 helo=EUR04-DB3-obe.outbound.protection.outlook.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nQvCP-0004qq-RY for emacs-devel@gnu.org; Sun, 06 Mar 2022 13:01:43 -0500 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=SOD3q///jlLQHbHWpUhIz4X02tp+DZAqNZRkexwiGEZXfbdqBgGAjZ8OP1s+u1+qMFWjgPDHtP71Qk1fmleUgP7z/kkxmgwYXp0J0a/IawQLfjf1hvxRwlnhVlP5k2TVZ0SnseTIM6qOWphbi74ZUSAux000juPOffmbGjj94JmApCsuXz3SdIkJXUFb8kt7cJv8VARpHyuuw8/m0FEwvSLqEbzi7QbVwBTiS6b88YsTVVcB+oIaIaFvuiPpCVi9SRWVCigTzI6Kxy45mG1PNpCRyqB1GkFUBFDScY4hh+ELbNDA/nWhhMeKtYxnvebhgcAwiSaBW4bKXRDrwhG7wA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=2mEjjsWXWDnnzCIaxEbl5vidskbJ6DrToGwEiTsULu8=; b=Fu38ZUrB0HG1E8rHHv+59Hz7ilxHN2PfR7uhUGbIhLuYjzT373rTIAS2fvVRaX2L9WxNCMs3c1URalBMX5IISdq8VGP+6ijyBR7gRuv6P4pFg2W4+j5H/JIraiu9GwmbgqfRrrF+iMN4vP042WQh7drOMj2I1bpQgPVZ4ufQHb51nDYFtY/1RUUAmtWRXhjPIKU+ubne7WwLOA199N8/pgNcotmp7PG9DBx0uEn8Z+6WnDv1ojXFmVf9z1hAaxMfMYl19BPW9x+mboypMfj3V8NIKtfh0LhizlNrMwexOkxm5hRwk3+24mZA/OunerW+i5E2CdXQ/UnN39KcOmT8Ng== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=outlook.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=2mEjjsWXWDnnzCIaxEbl5vidskbJ6DrToGwEiTsULu8=; b=qGZOTHxT8n/sjpWn3iqDnDHVUlWnc5Vk73PxVAKQrD5s41/2uyPaV9V+FuXqXDAa5udZ4CnxLZpxJdcFqZIFN+m2PkMMP0FeTp/O9fRSNYmsySOFhS0rJ28HHJxf/z/tEB7FMfp1rl0ufM4bepygJg7X1aQUSe1qLwXY1Z9Nw1q2duudCTzfz3YySjaUhnhlsF7Opofx5N+c2RY5ZRcvUoWyBADTgkjH+3sP/gWP3UAytnP2IVWOoq7v7C1x/JMxR9ZuAo1dvcRcmNoMiO1gF4zQV0tLoWyPoUi7DV4F1rtB263SG4eqHo6zjaSCKBmgRiGMINnztT9QP0zXO8FxKA== Original-Received: from GV1P193MB2310.EURP193.PROD.OUTLOOK.COM (2603:10a6:150:2a::20) by PAXP193MB2202.EURP193.PROD.OUTLOOK.COM (2603:10a6:102:232::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5038.14; Sun, 6 Mar 2022 17:40:43 +0000 Original-Received: from GV1P193MB2310.EURP193.PROD.OUTLOOK.COM ([fe80::285e:b4b3:5ecf:20e1]) by GV1P193MB2310.EURP193.PROD.OUTLOOK.COM ([fe80::285e:b4b3:5ecf:20e1%5]) with mapi id 15.20.5038.020; Sun, 6 Mar 2022 17:40:43 +0000 X-TMN: [j2pgNOouYewb+RpWNiSODA9+G5kAU5Jl] X-ClientProxiedBy: AM8P191CA0016.EURP191.PROD.OUTLOOK.COM (2603:10a6:20b:21a::21) To GV1P193MB2310.EURP193.PROD.OUTLOOK.COM (2603:10a6:150:2a::20) X-Microsoft-Original-Message-ID: <87o82j6kux.fsf@outlook.com> X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 23f25666-89fc-4e15-a114-08d9ff986fe8 X-MS-TrafficTypeDiagnostic: PAXP193MB2202:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: l7upuGDwGJfutEV0VtRetVPf3fCPnGSwV8lmqvvBiMbCdk1PlD5asOtEcVeysphQoGUy049aonjg7113VMr2VQsLk3C//MICbcCdLMmqAMVBLnI1BdXXEGdT7OJxVGrxMkNgt+gKNeFJZvnrNIXpK8DUjCWdnT16czYAWYPrcOocDBfxPyazZIg1yNyWCgAkcfWXndQ4q8GBNJa/EL0d4PpcJNpYmZcqKWAChARm/mGJD4Ra1zSyAief3DpRfLhDy0sJWrydg1gJ/sFb0n9oA/3rfKNNIBJ083P0NSMUS/eVe+WPJzvOe4S3NIA7yKW7ve4wcShVSzmTpirOz3NvSP5pJAkE8QvGghSc0yi8sImnonn9zPrMT8N5lj6hOi3BGdgBDCBhlbIbOBrWEBsArvFcl8fa56qFreNMJr84ce5UnU+vucEGz5WNXnxJZBv1q91rn43XewT1sJMpg5xFIfoC6ZayQ867F8MQeDzAV2zHx52PxTvzFZ9AmL7nxktS7wxV16DL1lcs+WkXltOXaLoNtxRqmCIP0vY9xRtaDtalEggSa76luV/23WqEMfK26T1OWq6RqWwXbExQNi08Dg== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?zjeoNl/1Jnm9wtxFWMnus2fec0dmTciS6Za/tCfgcBuMsU+VnzbWlVyjhWvU?= =?us-ascii?Q?XkVQsWgl4iyQSSWzg6LImJC2zviaZMRhknZ0idSB0xQs3JqFigpe3yfD/Vgl?= =?us-ascii?Q?09fxsrHKS7XZ8M2HoBIWpbL+IBy2zTOdEi3fXtMPwAVGiACBDxZrUwC1qf1D?= =?us-ascii?Q?msOlV3FjWJYMrrxy/rGgnogZ1mKNXyCc78I2bR69SHlFcPJlRKL1fzqNS02p?= =?us-ascii?Q?StlgkidcpDBI3Lcfil87pemdI3hqXsJTFXLsAOqzb5ugEvAZYhzouGFurFbU?= =?us-ascii?Q?fZUDJApQAoWfhuezl/JGPHxmRN61HYEjRZhXbDkEVuQCZX3MayuhiWG3g/QB?= =?us-ascii?Q?dOTgSBB8RmRpK9Y+ktIwIkwfX8pSOuI20Kssk9tDAI4Hh2pfX4MbxYL84LCp?= =?us-ascii?Q?k19df1VwelzQGcmIk5PDV8tKaZZarr06t6ic9qXXReOSAurudq4KjX011FEV?= =?us-ascii?Q?xWUnmC0qBAXYKLiIF4t2ltMcuCFv4Efcnq0Solsf1VeNVJgvS6xiUKFhosow?= =?us-ascii?Q?ridrK2Kyb3iOiL+1UYMQkN/6Y1s+X+B4rLoWWWnOSOpjbAgiVZ7lI3eNf2L2?= =?us-ascii?Q?GbOA6WQuvgfVfVVc7MfjXDLnXPL9qcdyi1A74mdCHP/sC+JZTSxMkBFIVlfn?= =?us-ascii?Q?Qu X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 23f25666-89fc-4e15-a114-08d9ff986fe8 X-MS-Exchange-CrossTenant-AuthSource: GV1P193MB2310.EURP193.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Mar 2022 17:40:43.0544 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXP193MB2202 Received-SPF: pass client-ip=40.92.74.42; envelope-from=kjartanoli@outlook.com; helo=EUR04-DB3-obe.outbound.protection.outlook.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.io gmane.emacs.devel:286863 Archived-At: --=-=-= Content-Type: text/plain With the addition of EPUB support to doc-view I took a shot at adding support for mutool's user stylesheet feature, which allows the user to control the layout of the EPUB with custom CSS rules. I'm attaching the patch here if anyone is interested. This is my first attempt at contributing to Emacs, so I'm sure there is something I got wrong/did sub-optimally. Any criticism/suggestions for improvement are welcome. --=-=-= Content-Type: text/x-patch Content-Disposition: attachment; filename=0001-Add-user-stylesheet-option-for-doc-view-EPUB-support.patch Content-Description: User Stylesheet support >From f1f919d64d97a0f8bd614ef7b099ca123b66c4d6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kjartan=20=C3=93li=20=C3=81g=C3=BAstsson?= Date: Fri, 4 Mar 2022 23:01:19 +0000 Subject: [PATCH] Add user stylesheet option for doc-view EPUB support * lisp/doc-view.el (doc-view-start-process): Add user stylesheet to process arguments when appropriate. --- lisp/doc-view.el | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/lisp/doc-view.el b/lisp/doc-view.el index 193cf42ea4..8658ed013f 100644 --- a/lisp/doc-view.el +++ b/lisp/doc-view.el @@ -226,6 +226,12 @@ doc-view-resolution Higher values result in larger images." :type 'number) +(defcustom doc-view-mutool-user-stylesheet nil + "User stylesheet to use when converting EPUB documents to PDF." + :type '(choice (file :must-match t) + (const nil)) + :version "29.1") + (defvar doc-view-doc-type nil "The type of document in the current buffer. Can be `dvi', `pdf', `ps', `djvu', `odf', 'epub', `cbz', `fb2', @@ -1079,6 +1085,9 @@ doc-view-start-process (let* ((default-directory (or (unhandled-file-name-directory default-directory) (expand-file-name "~/"))) + (args (if (and (eq doc-view-doc-type 'epub) + doc-view-mutool-user-stylesheet) + (cons (car args) (cons (format "-U%s" (expand-file-name doc-view-mutool-user-stylesheet)) (cdr args))))) (proc (apply #'start-process name doc-view-conversion-buffer program args))) (push proc doc-view--current-converter-processes) -- 2.35.1 --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: base64 DQotLSANCktqYXJ0YW4gw5NsaSDDgWfDunN0c3Nvbg0KDQo= --=-=-=--