From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.ciao.gmane.io!not-for-mail From: Pip Cet Newsgroups: gmane.emacs.bugs Subject: bug#40845: SVG rendering issues Date: Sat, 25 Apr 2020 18:07:45 +0000 Message-ID: References: <72ebf5eb-6b00-ebb4-dab3-a047e35ae1ae@gmail.com> <83mu6z7em5.fsf@gnu.org> <17307310-2afc-7941-8a48-5cd345d1ad63@gmail.com> <83k1237b2a.fsf@gnu.org> <20200425174651.GC82687@breton.holly.idiocy.org> Mime-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Injection-Info: ciao.gmane.io; posting-host="ciao.gmane.io:159.69.161.202"; logging-data="22826"; mail-complaints-to="usenet@ciao.gmane.io" To: Alan Third , =?UTF-8?Q?Cl=C3=A9ment?= Pit-Claudel , Eli Zaretskii , 40845@debbugs.gnu.org, pipcet@gmail.com Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Sat Apr 25 20:09:12 2020 Return-path: Envelope-to: geb-bug-gnu-emacs@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 1jSPEm-0005mc-Hb for geb-bug-gnu-emacs@m.gmane-mx.org; Sat, 25 Apr 2020 20:09:12 +0200 Original-Received: from localhost ([::1]:42496 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jSPEl-0000Yf-JK for geb-bug-gnu-emacs@m.gmane-mx.org; Sat, 25 Apr 2020 14:09:11 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:58714) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jSPEc-0000YX-Ma for bug-gnu-emacs@gnu.org; Sat, 25 Apr 2020 14:09:03 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.90_1) (envelope-from ) id 1jSPEc-0006P8-64 for bug-gnu-emacs@gnu.org; Sat, 25 Apr 2020 14:09:02 -0400 Original-Received: from debbugs.gnu.org ([209.51.188.43]:48777) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1jSPEb-0006OI-Pk for bug-gnu-emacs@gnu.org; Sat, 25 Apr 2020 14:09:01 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1jSPEb-00030j-Ky for bug-gnu-emacs@gnu.org; Sat, 25 Apr 2020 14:09:01 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Pip Cet Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sat, 25 Apr 2020 18:09:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 40845 X-GNU-PR-Package: emacs Original-Received: via spool by 40845-submit@debbugs.gnu.org id=B40845.158783810911533 (code B ref 40845); Sat, 25 Apr 2020 18:09:01 +0000 Original-Received: (at 40845) by debbugs.gnu.org; 25 Apr 2020 18:08:29 +0000 Original-Received: from localhost ([127.0.0.1]:60323 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jSPE4-0002zx-Pd for submit@debbugs.gnu.org; Sat, 25 Apr 2020 14:08:29 -0400 Original-Received: from mail-ot1-f65.google.com ([209.85.210.65]:33987) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jSPE3-0002zl-Al for 40845@debbugs.gnu.org; Sat, 25 Apr 2020 14:08:27 -0400 Original-Received: by mail-ot1-f65.google.com with SMTP id 72so18634598otu.1 for <40845@debbugs.gnu.org>; Sat, 25 Apr 2020 11:08:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :content-transfer-encoding; bh=BjiMFp4T6KZTOmLPqtGXc/sYOsVjU1KGCwBYw7bPGes=; b=JlKJFJEExVClINeM9fCJhqHVFbKTqG8zgLItsbAk1wd6yueRj/PdHqid+Hc9Xk2z5j Llaw16cpvIJ51H0vsr8hDQtAr/zQ/Yx99vOtVGey+6Th39OHepHqHAKVAMzQUvHpwJQC sPGkDdlZTR3p/C9LkcCwBBAWFBgS4JPgHjDt13hYIfqeQm/SDbSdjvDesZykYtfkpJdC OQcP8AGynzDBIQ9pQEKXXse69akzekM7Mm8kr8Ai+LEH/3IEr2njYqhn+hRyWob8ES7K Ke9YZjLssiXKrDp7Cy8ouBN79IgaGvCefSi6f9nB+oH8JoRwd96Z4Zft8nVZE9pGKcS7 porw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:content-transfer-encoding; bh=BjiMFp4T6KZTOmLPqtGXc/sYOsVjU1KGCwBYw7bPGes=; b=soxrWW4z3MjGpzbJaTV6Vdz+t5FwFZOQKyLwJudRLDb1Fdvd0L0qswZKro8cBFZVKx dR+BlZuY/pBenMx3Qajs9D1Ze+j2Un7y7JeGR2e6iXwpHcEhT3kWcyfHLJLjK3BbIpNF ssCRg51zi18+n9F14aNOFL173/6pN6vBTDIqmSXT/g/S0t+uzSFLVl58w9qrWrh2FaRl Ws9l6P3BaHSOcRdJRUzKIQf0En7pT7Y+DOrMpoaLwqW8UVVtMUSi8FXwA6cikR8r6QXA 5OrCXUb0qDG89//+laXgPs9mccLV8FosOuAYaFDSMsGAZ5KZryAfbPLzQ6XWbHYoV3If ZZQw== X-Gm-Message-State: AGi0PuZMvuxF2d9Lf8L76Mn00EWR94hWrGiZ7GvHu125nPszf31Mp4cl FHbyAzwf2Q5Ax+8yCttdxmeepD17O58UF85Ho4U= X-Google-Smtp-Source: APiQypLFgNiBPlwyBtv4s7xgqpuw5C/N0bKMNoss9/dGS61XbmTj9mTexGl/wxyLHZIcPG6f1WgPesH7AzbLBZnT6xs= X-Received: by 2002:aca:5614:: with SMTP id k20mr10936185oib.30.1587838101661; Sat, 25 Apr 2020 11:08:21 -0700 (PDT) In-Reply-To: <20200425174651.GC82687@breton.holly.idiocy.org> X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-Received-From: 209.51.188.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.io gmane.emacs.bugs:179023 Archived-At: On Sat, Apr 25, 2020 at 5:46 PM Alan Third wrote: > On Sat, Apr 25, 2020 at 01:24:13PM -0400, Cl=C3=A9ment Pit-Claudel wrote: > > Yes, of course: if an image has a foreground color, it should be > > respected. But it's not uncommon for SVG images to not include a > > foreground color, as shown in the repro. In that case, the image > > should use the current foreground color, I think. (of course, a > > :foreground keyword, if any, should take precedence; that is issue > > 4). For reference, the relevant chunk of librsvg source code is this: // https://www.w3.org/TR/SVG/color.html#ColorProperty make_property!( ComputedValues, Color, // The SVG spec allows the user agent to choose its own default for the "color" property. // We don't allow passing in an initial CSS in the public API, so we'll start with black. // // See https://bugzilla.gnome.org/show_bug.cgi?id=3D764808 for a case where this would // be useful - rendering equations with currentColor, so they take on the color of the // surrounding text. default: cssparser::RGBA::new(0, 0, 0, 0xff), inherits_automatically: true, newtype_parse: cssparser::RGBA, ); > Lars fixed the foreground issue for eww by wrapping svg files in > another svg. See svg--wrap-svg in shr.el (bug#37159). > > I think this is the only practical way to handle svg files with no > foreground colour set. To do this when loading _any_ svg we=E2=80=99d pro= bably > have to move it into create-image or image.c. I think it's a neat hack, but it's just one of the more obvious ways of working around an annoying limitation of librsvg (Ideally, we'd use a library without such a limitation by default and fall back to modifying/wrapping SVGs when using a limited library.) For applications which change glyphs' foreground colors a lot, it might be preferrable to coax rsvg into providing an alpha-only map for the foreground plus an RGBA map for the background and blend them together, and that approach would work for other image types.