Browse Source

fast forwarding

Merge branch 'master' of github.com:hrbrmstr/hrbrthemes

# Conflicts:
#	R/roboto-condensed.r
tags/0.8.0
boB Rudis 7 years ago
parent
commit
edb3b9fa96
No known key found for this signature in database GPG Key ID: 1D7529BE14E2BBA9
  1. 4
      NEWS.md
  2. 5
      R/hrbrthemes-package.R
  3. 30
      R/roboto-condensed.r
  4. 19
      R/theme-ipsum.r
  5. 23
      R/zzz.r
  6. 3
      README.md
  7. BIN
      README_figs/README-unnamed-chunk-10-1.png
  8. BIN
      README_figs/README-unnamed-chunk-11-1.png
  9. BIN
      README_figs/README-unnamed-chunk-5-1.png
  10. BIN
      README_figs/README-unnamed-chunk-6-1.png
  11. BIN
      README_figs/README-unnamed-chunk-7-1.png
  12. BIN
      README_figs/README-unnamed-chunk-8-1.png
  13. BIN
      README_figs/README-unnamed-chunk-9-1.png
  14. BIN
      inst/.DS_Store
  15. BIN
      inst/fonts/.DS_Store
  16. 5
      man/hrbrthemes.Rd
  17. 6
      man/import_roboto_condensed.Rd
  18. 13
      man/theme_ipsum.Rd
  19. 21
      man/theme_ipsum_rc.Rd
  20. 86
      tests/figs/themes/theme-ipsum-rc.svg
  21. 86
      tests/figs/themes/theme-ipsum.svg

4
NEWS.md

@ -7,7 +7,9 @@
* Added `dict` and `ignore` parameters (with defaults) to `gg_check()` (@karldw) [PR #3].
* Fixed typos (@benmarwick) [PR #1].
* Spelling in vignette fixed (@zx8754) [Issue #6].
* New lighter grid color default (`#cccccc`) [Issue #7].
* New lighter grid color default `#cccccc` [Issue #7].
* Added font auto-loading (@alexwhan) [Issue #12].
* Made base font 0.5 pts larger
# hrbrthemes 0.1.0

5
R/hrbrthemes-package.R

@ -11,6 +11,11 @@
#' Narrow (the one on most systems, anyway) does not have said diversity but this
#' quality is not (IMO) a "must have".
#'
#' There is an option `hrbrthemes.loadfonts` which -- if set to `TRUE` -- will
#' call `extrafont::loadfonts()` to register non-core fonts with R PDF & PostScript
#' devices. If you are running under Windows, the package calls the same function
#' to register non-core fonts with the Windows graphics device.
#'
#' @md
#' @name hrbrthemes
#' @docType package

30
R/roboto-condensed.r

@ -3,6 +3,11 @@
#' You should [import_roboto_condensed]() first and also install the fonts on your
#' system before trying to use this theme.
#'
#' There is an option `hrbrthemes.loadfonts` which -- if set to `TRUE` -- will
#' call `extrafont::loadfonts()` to register non-core fonts with R PDF & PostScript
#' devices. If you are running under Windows, the package calls the same function
#' to register non-core fonts with the Windows graphics device.
#'
#' @md
#' @section Why Roboto Condensed?:
#' It's free, has tolerable kerning pairs and multiple weights. It's also different
@ -17,6 +22,7 @@
#' @param caption_family,caption_face,caption_size,caption_margin plot caption family, face, size and margin
#' @param axis_title_family,axis_title_face,axis_title_size axis title font family, face and size
#' @param axis_title_just axis title font justificationk one of `[blmcrt]`
#' @param axis_text_size font size of axis text
#' @param plot_margin plot margin (specify with [ggplot2::margin])
#' @param grid_col grid color
#' @param grid panel grid (`TRUE`, `FALSE`, or a combination of `X`, `x`, `Y`, `y`)
@ -54,24 +60,25 @@
#' theme(axis.text.y=element_blank())
#' }
theme_ipsum_rc <- function(
base_family="Roboto Condensed", base_size = 11,
base_family="Roboto Condensed", base_size = 11.5,
plot_title_family=base_family, plot_title_size = 18,
plot_title_face="bold", plot_title_margin = 10,
subtitle_family=if (.Platform$OS.type == "windows") "Roboto Condensed" else "Roboto Condensed Light",
subtitle_size = 12,
subtitle_size = 13,
subtitle_face = "plain", subtitle_margin = 15,
strip_text_family = base_family, strip_text_size = 12,
strip_text_face = "plain",
caption_family=if (.Platform$OS.type == "windows") "Roboto Condensed" else "Roboto Condensed Light",
caption_size = 9,
caption_face = "plain", caption_margin = 10,
axis_text_size = base_size,
axis_title_family = base_family,
axis_title_size = 9,
axis_title_face = "plain",
axis_title_just = "rt",
plot_margin = margin(30, 30, 30, 30),
grid_col = "#2b2b2b99", grid = TRUE,
axis_col = "#2b2b2b", axis = FALSE, ticks = FALSE) {
grid_col = "#cccccc", grid = TRUE,
axis_col = "#cccccc", axis = FALSE, ticks = FALSE) {
ret <- ggplot2::theme_minimal(base_family=base_family, base_size=base_size)
@ -80,9 +87,9 @@ theme_ipsum_rc <- function(
if (inherits(grid, "character") | grid == TRUE) {
ret <- ret + theme(panel.grid=element_line(color=grid_col, size=0.10))
ret <- ret + theme(panel.grid.major=element_line(color=grid_col, size=0.10))
ret <- ret + theme(panel.grid.minor=element_line(color=grid_col, size=0.05))
ret <- ret + theme(panel.grid=element_line(color=grid_col, size=0.2))
ret <- ret + theme(panel.grid.major=element_line(color=grid_col, size=0.2))
ret <- ret + theme(panel.grid.minor=element_line(color=grid_col, size=0.15))
if (inherits(grid, "character")) {
if (regexpr("X", grid)[1] < 0) ret <- ret + theme(panel.grid.major.x=element_blank())
@ -131,8 +138,8 @@ theme_ipsum_rc <- function(
xj <- switch(tolower(substr(axis_title_just, 1, 1)), b=0, l=0, m=0.5, c=0.5, r=1, t=1)
yj <- switch(tolower(substr(axis_title_just, 2, 2)), b=0, l=0, m=0.5, c=0.5, r=1, t=1)
ret <- ret + theme(axis.text.x=element_text(margin=margin(t=0)))
ret <- ret + theme(axis.text.y=element_text(margin=margin(r=0)))
ret <- ret + theme(axis.text.x=element_text(size=axis_text_size, margin=margin(t=0)))
ret <- ret + theme(axis.text.y=element_text(size=axis_text_size, margin=margin(r=0)))
ret <- ret + theme(axis.title=element_text(size=axis_title_size, family=axis_title_family))
ret <- ret + theme(axis.title.x=element_text(hjust=xj, size=axis_title_size,
family=axis_title_family, face=axis_title_face))
@ -161,6 +168,11 @@ theme_ipsum_rc <- function(
#'
#' Roboto Condensed is a trademark of Google.
#'
#' There is an option `hrbrthemes.loadfonts` which -- if set to `TRUE` -- will
#' call `extrafont::loadfonts()` to register non-core fonts with R PDF & PostScript
#' devices. If you are running under Windows, the package calls the same function
#' to register non-core fonts with the Windows graphics device.
#'
#' @note This will take care of ensuring PDF/PostScript usage. The location of the
#' font directory is displayed after the base import is complete. It is highly
#' recommended that you install them on your system the same way you would any

19
R/theme-ipsum.r

@ -18,6 +18,11 @@
#' usually only arises when using a newer font with many weights but somewhat
#' irregular internal font name patterns.
#'
#' There is an option `hrbrthemes.loadfonts` which -- if set to `TRUE` -- will
#' call `extrafont::loadfonts()` to register non-core fonts with R PDF & PostScript
#' devices. If you are running under Windows, the package calls the same function
#' to register non-core fonts with the Windows graphics device.
#'
#' @md
#' @param base_family,base_size base font family and size
#' @param plot_title_family,plot_title_face,plot_title_size,plot_title_margin plot title family, face, size and margi
@ -30,6 +35,7 @@
#' @param plot_margin plot margin (specify with [ggplot2::margin])
#' @param grid_col,axis_col grid & axis colors; both default to `#cccccc`
#' @param grid panel grid (`TRUE`, `FALSE`, or a combination of `X`, `x`, `Y`, `y`)
#' @param axis_text_size font size of axis text
#' @param axis add x or y axes? `TRUE`, `FALSE`, "`xy`"
#' @param ticks ticks if `TRUE` add ticks
#' @export
@ -61,7 +67,7 @@
#' theme_ipsum(grid="Y") +
#' theme(axis.text.y=element_blank())
#' }
theme_ipsum <- function(base_family="Arial Narrow", base_size = 11,
theme_ipsum <- function(base_family="Arial Narrow", base_size = 11.5,
plot_title_family=base_family, plot_title_size = 18,
plot_title_face="bold", plot_title_margin = 10,
subtitle_family=base_family, subtitle_size = 12,
@ -70,6 +76,7 @@ theme_ipsum <- function(base_family="Arial Narrow", base_size = 11,
strip_text_face = "plain",
caption_family = base_family, caption_size = 9,
caption_face = "italic", caption_margin = 10,
axis_text_size = base_size,
axis_title_family = subtitle_family, axis_title_size = 9,
axis_title_face = "plain", axis_title_just = "rt",
plot_margin = margin(30, 30, 30, 30),
@ -83,9 +90,9 @@ theme_ipsum <- function(base_family="Arial Narrow", base_size = 11,
if (inherits(grid, "character") | grid == TRUE) {
ret <- ret + theme(panel.grid=element_line(color=grid_col, size=0.10))
ret <- ret + theme(panel.grid.major=element_line(color=grid_col, size=0.10))
ret <- ret + theme(panel.grid.minor=element_line(color=grid_col, size=0.05))
ret <- ret + theme(panel.grid=element_line(color=grid_col, size=0.2))
ret <- ret + theme(panel.grid.major=element_line(color=grid_col, size=0.2))
ret <- ret + theme(panel.grid.minor=element_line(color=grid_col, size=0.15))
if (inherits(grid, "character")) {
if (regexpr("X", grid)[1] < 0) ret <- ret + theme(panel.grid.major.x=element_blank())
@ -134,8 +141,8 @@ theme_ipsum <- function(base_family="Arial Narrow", base_size = 11,
xj <- switch(tolower(substr(axis_title_just, 1, 1)), b=0, l=0, m=0.5, c=0.5, r=1, t=1)
yj <- switch(tolower(substr(axis_title_just, 2, 2)), b=0, l=0, m=0.5, c=0.5, r=1, t=1)
ret <- ret + theme(axis.text.x=element_text(margin=margin(t=0)))
ret <- ret + theme(axis.text.y=element_text(margin=margin(r=0)))
ret <- ret + theme(axis.text.x=element_text(size=axis_text_size, margin=margin(t=0)))
ret <- ret + theme(axis.text.y=element_text(size=axis_text_size, margin=margin(r=0)))
ret <- ret + theme(axis.title=element_text(size=axis_title_size, family=axis_title_family))
ret <- ret + theme(axis.title.x=element_text(hjust=xj, size=axis_title_size,
family=axis_title_family, face=axis_title_face))

23
R/zzz.r

@ -0,0 +1,23 @@
# Suggestion by @alexwhan
.onAttach <- function(libname, pkgname) {
if (.Platform$OS.type == "windows") { # nocov start
if (interactive()) packageStartupMessage("Registering Windows fonts with R")
extrafont::loadfonts("win", quiet = TRUE)
}
if (getOption("hrbrthemes.loadfonts", default = FALSE)) {
if (interactive()) packageStartupMessage("Registering PDF & PostScript fonts with R")
extrafont::loadfonts("pdf", quiet = TRUE)
extrafont::loadfonts("postscript", quiet = TRUE)
}
fnt <- extrafont::fonttable()
if (!any(grepl("Arial[ ]Narrow|Roboto[ ]Condensed", fnt$FamilyName))) {
packageStartupMessage("NOTE: Either Arial Narrow or Roboto Condensed fonts are required to use these themes.")
packageStartupMessage(" Please use hrbrthemes::import_roboto_condensed() to install Roboto Condensed and")
packageStartupMessage(" if Arial Narrow is not on your system, please see http://bit.ly/arialnarrow")
} # nocov end
}

3
README.md

@ -166,13 +166,14 @@ library(hrbrthemes)
library(testthat)
date()
## [1] "Wed Mar 1 22:17:40 2017"
## [1] "Thu Mar 2 10:25:50 2017"
test_dir("tests/")
## testthat results ========================================================================================================
## OK: 12 SKIPPED: 0 FAILED: 0
##
## DONE ===================================================================================================================
## You rock!
```
### Code of Conduct

BIN
README_figs/README-unnamed-chunk-10-1.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 92 KiB

After

Width:  |  Height:  |  Size: 94 KiB

BIN
README_figs/README-unnamed-chunk-11-1.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 61 KiB

After

Width:  |  Height:  |  Size: 63 KiB

BIN
README_figs/README-unnamed-chunk-5-1.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 76 KiB

After

Width:  |  Height:  |  Size: 80 KiB

BIN
README_figs/README-unnamed-chunk-6-1.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 75 KiB

After

Width:  |  Height:  |  Size: 76 KiB

BIN
README_figs/README-unnamed-chunk-7-1.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 83 KiB

After

Width:  |  Height:  |  Size: 85 KiB

BIN
README_figs/README-unnamed-chunk-8-1.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 77 KiB

After

Width:  |  Height:  |  Size: 82 KiB

BIN
README_figs/README-unnamed-chunk-9-1.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 129 KiB

After

Width:  |  Height:  |  Size: 132 KiB

BIN
inst/.DS_Store

Binary file not shown.

BIN
inst/fonts/.DS_Store

Binary file not shown.

5
man/hrbrthemes.Rd

@ -17,6 +17,11 @@ That's what I consider the "font trifecta" must-have for charts. An additional
quality for fonts for charts is that they have a diversity of weights. Arial
Narrow (the one on most systems, anyway) does not have said diversity but this
quality is not (IMO) a "must have".
There is an option \code{hrbrthemes.loadfonts} which -- if set to \code{TRUE} -- will
call \code{extrafont::loadfonts()} to register non-core fonts with R PDF & PostScript
devices. If you are running under Windows, the package calls the same function
to register non-core fonts with the Windows graphics device.
}
\author{
Bob Rudis (bob@rud.is)

6
man/import_roboto_condensed.Rd

@ -9,6 +9,12 @@ import_roboto_condensed()
\description{
Roboto Condensed is a trademark of Google.
}
\details{
There is an option `hrbrthemes.loadfonts` which -- if set to `TRUE` -- will
call `extrafont::loadfonts()` to register non-core fonts with R PDF & PostScript
devices. If you are running under Windows, the package calls the same function
to register non-core fonts with the Windows graphics device.
}
\note{
This will take care of ensuring PDF/PostScript usage. The location of the
font directory is displayed after the base import is complete. It is highly

13
man/theme_ipsum.Rd

@ -4,7 +4,7 @@
\alias{theme_ipsum}
\title{A precise & pristine \link{ggplot2} theme with opinionated defaults and an emphasis on typography}
\usage{
theme_ipsum(base_family = "Arial Narrow", base_size = 11,
theme_ipsum(base_family = "Arial Narrow", base_size = 11.5,
plot_title_family = base_family, plot_title_size = 18,
plot_title_face = "bold", plot_title_margin = 10,
subtitle_family = base_family, subtitle_size = 12,
@ -12,8 +12,8 @@ theme_ipsum(base_family = "Arial Narrow", base_size = 11,
strip_text_family = base_family, strip_text_size = 12,
strip_text_face = "plain", caption_family = base_family,
caption_size = 9, caption_face = "italic", caption_margin = 10,
axis_title_family = subtitle_family, axis_title_size = 9,
axis_title_face = "plain", axis_title_just = "rt",
axis_text_size = base_size, axis_title_family = subtitle_family,
axis_title_size = 9, axis_title_face = "plain", axis_title_just = "rt",
plot_margin = margin(30, 30, 30, 30), grid_col = "#cccccc", grid = TRUE,
axis_col = "#cccccc", axis = FALSE, ticks = FALSE)
}
@ -30,6 +30,8 @@ theme_ipsum(base_family = "Arial Narrow", base_size = 11,
\item{caption_family, caption_face, caption_size, caption_margin}{plot caption family, face, size and margin}
\item{axis_text_size}{font size of axis text}
\item{axis_title_family, axis_title_face, axis_title_size}{axis title font family, face and size}
\item{axis_title_just}{axis title font justification, one of \code{[blmcrt]}}
@ -68,6 +70,11 @@ for PostScript or PDF ones. You may need two versions of a font-based
theme function for them to work in a particular situation. This situation
usually only arises when using a newer font with many weights but somewhat
irregular internal font name patterns.
There is an option \code{hrbrthemes.loadfonts} which -- if set to \code{TRUE} -- will
call \code{extrafont::loadfonts()} to register non-core fonts with R PDF & PostScript
devices. If you are running under Windows, the package calls the same function
to register non-core fonts with the Windows graphics device.
}
\examples{

21
man/theme_ipsum_rc.Rd

@ -4,19 +4,20 @@
\alias{theme_ipsum_rc}
\title{A precise & pristine \link{ggplot2} theme with opinionated defaults and an emphasis on typoghraphy}
\usage{
theme_ipsum_rc(base_family = "Roboto Condensed", base_size = 11,
theme_ipsum_rc(base_family = "Roboto Condensed", base_size = 11.5,
plot_title_family = base_family, plot_title_size = 18,
plot_title_face = "bold", plot_title_margin = 10, subtitle_family = if
(.Platform$OS.type == "windows") "Roboto Condensed" else
"Roboto Condensed Light", subtitle_size = 12, subtitle_face = "plain",
"Roboto Condensed Light", subtitle_size = 13, subtitle_face = "plain",
subtitle_margin = 15, strip_text_family = base_family,
strip_text_size = 12, strip_text_face = "plain", caption_family = if
(.Platform$OS.type == "windows") "Roboto Condensed" else
"Roboto Condensed Light", caption_size = 9, caption_face = "plain",
caption_margin = 10, axis_title_family = base_family,
axis_title_size = 9, axis_title_face = "plain", axis_title_just = "rt",
plot_margin = margin(30, 30, 30, 30), grid_col = "#2b2b2b99",
grid = TRUE, axis_col = "#2b2b2b", axis = FALSE, ticks = FALSE)
caption_margin = 10, axis_text_size = base_size,
axis_title_family = base_family, axis_title_size = 9,
axis_title_face = "plain", axis_title_just = "rt",
plot_margin = margin(30, 30, 30, 30), grid_col = "#cccccc", grid = TRUE,
axis_col = "#cccccc", axis = FALSE, ticks = FALSE)
}
\arguments{
\item{base_family, base_size}{base font family and size}
@ -31,6 +32,8 @@ theme_ipsum_rc(base_family = "Roboto Condensed", base_size = 11,
\item{caption_family, caption_face, caption_size, caption_margin}{plot caption family, face, size and margin}
\item{axis_text_size}{font size of axis text}
\item{axis_title_family, axis_title_face, axis_title_size}{axis title font family, face and size}
\item{axis_title_just}{axis title font justificationk one of \code{[blmcrt]}}
@ -51,6 +54,12 @@ theme_ipsum_rc(base_family = "Roboto Condensed", base_size = 11,
You should \url{import_roboto_condensed} first and also install the fonts on your
system before trying to use this theme.
}
\details{
There is an option \code{hrbrthemes.loadfonts} which -- if set to \code{TRUE} -- will
call \code{extrafont::loadfonts()} to register non-core fonts with R PDF & PostScript
devices. If you are running under Windows, the package calls the same function
to register non-core fonts with the Windows graphics device.
}
\section{Why Roboto Condensed?}{
It's free, has tolerable kerning pairs and multiple weights. It's also different

86
tests/figs/themes/theme-ipsum-rc.svg

@ -13,63 +13,63 @@
</defs>
<rect width='100%' height='100%' style='stroke: none; fill: #FFFFFF;'/>
<defs>
<clipPath id='cpNTguMjUyMXw2NDMuNTU2fDUyNS4wOHw3NC42MjI='>
<rect x='58.25' y='74.62' width='585.30' height='450.46' />
<clipPath id='cpNjIuMzc3Mnw2NDMuNTU2fDUyMi41ODJ8NzUuMTIwMQ=='>
<rect x='62.38' y='75.12' width='581.18' height='447.46' />
</clipPath>
</defs>
<polyline points='58.25,453.42 643.56,453.42 ' style='stroke-width: 0.11; stroke: #2B2B2B; stroke-opacity: 0.60; stroke-linecap: butt;' clip-path='url(#cpNTguMjUyMXw2NDMuNTU2fDUyNS4wOHw3NC42MjI=)' />
<polyline points='58.25,351.04 643.56,351.04 ' style='stroke-width: 0.11; stroke: #2B2B2B; stroke-opacity: 0.60; stroke-linecap: butt;' clip-path='url(#cpNTguMjUyMXw2NDMuNTU2fDUyNS4wOHw3NC42MjI=)' />
<polyline points='58.25,248.66 643.56,248.66 ' style='stroke-width: 0.11; stroke: #2B2B2B; stroke-opacity: 0.60; stroke-linecap: butt;' clip-path='url(#cpNTguMjUyMXw2NDMuNTU2fDUyNS4wOHw3NC42MjI=)' />
<polyline points='58.25,146.29 643.56,146.29 ' style='stroke-width: 0.11; stroke: #2B2B2B; stroke-opacity: 0.60; stroke-linecap: butt;' clip-path='url(#cpNTguMjUyMXw2NDMuNTU2fDUyNS4wOHw3NC42MjI=)' />
<polyline points='151.37,525.08 151.37,74.62 ' style='stroke-width: 0.11; stroke: #2B2B2B; stroke-opacity: 0.60; stroke-linecap: butt;' clip-path='url(#cpNTguMjUyMXw2NDMuNTU2fDUyNS4wOHw3NC42MjI=)' />
<polyline points='284.39,525.08 284.39,74.62 ' style='stroke-width: 0.11; stroke: #2B2B2B; stroke-opacity: 0.60; stroke-linecap: butt;' clip-path='url(#cpNTguMjUyMXw2NDMuNTU2fDUyNS4wOHw3NC42MjI=)' />
<polyline points='417.42,525.08 417.42,74.62 ' style='stroke-width: 0.11; stroke: #2B2B2B; stroke-opacity: 0.60; stroke-linecap: butt;' clip-path='url(#cpNTguMjUyMXw2NDMuNTU2fDUyNS4wOHw3NC42MjI=)' />
<polyline points='550.44,525.08 550.44,74.62 ' style='stroke-width: 0.11; stroke: #2B2B2B; stroke-opacity: 0.60; stroke-linecap: butt;' clip-path='url(#cpNTguMjUyMXw2NDMuNTU2fDUyNS4wOHw3NC42MjI=)' />
<polyline points='58.25,504.61 643.56,504.61 ' style='stroke-width: 0.21; stroke: #2B2B2B; stroke-opacity: 0.60; stroke-linecap: butt;' clip-path='url(#cpNTguMjUyMXw2NDMuNTU2fDUyNS4wOHw3NC42MjI=)' />
<polyline points='58.25,402.23 643.56,402.23 ' style='stroke-width: 0.21; stroke: #2B2B2B; stroke-opacity: 0.60; stroke-linecap: butt;' clip-path='url(#cpNTguMjUyMXw2NDMuNTU2fDUyNS4wOHw3NC42MjI=)' />
<polyline points='58.25,299.85 643.56,299.85 ' style='stroke-width: 0.21; stroke: #2B2B2B; stroke-opacity: 0.60; stroke-linecap: butt;' clip-path='url(#cpNTguMjUyMXw2NDMuNTU2fDUyNS4wOHw3NC42MjI=)' />
<polyline points='58.25,197.47 643.56,197.47 ' style='stroke-width: 0.21; stroke: #2B2B2B; stroke-opacity: 0.60; stroke-linecap: butt;' clip-path='url(#cpNTguMjUyMXw2NDMuNTU2fDUyNS4wOHw3NC42MjI=)' />
<polyline points='58.25,95.10 643.56,95.10 ' style='stroke-width: 0.21; stroke: #2B2B2B; stroke-opacity: 0.60; stroke-linecap: butt;' clip-path='url(#cpNTguMjUyMXw2NDMuNTU2fDUyNS4wOHw3NC42MjI=)' />
<polyline points='84.86,525.08 84.86,74.62 ' style='stroke-width: 0.21; stroke: #2B2B2B; stroke-opacity: 0.60; stroke-linecap: butt;' clip-path='url(#cpNTguMjUyMXw2NDMuNTU2fDUyNS4wOHw3NC42MjI=)' />
<polyline points='217.88,525.08 217.88,74.62 ' style='stroke-width: 0.21; stroke: #2B2B2B; stroke-opacity: 0.60; stroke-linecap: butt;' clip-path='url(#cpNTguMjUyMXw2NDMuNTU2fDUyNS4wOHw3NC42MjI=)' />
<polyline points='350.90,525.08 350.90,74.62 ' style='stroke-width: 0.21; stroke: #2B2B2B; stroke-opacity: 0.60; stroke-linecap: butt;' clip-path='url(#cpNTguMjUyMXw2NDMuNTU2fDUyNS4wOHw3NC42MjI=)' />
<polyline points='483.93,525.08 483.93,74.62 ' style='stroke-width: 0.21; stroke: #2B2B2B; stroke-opacity: 0.60; stroke-linecap: butt;' clip-path='url(#cpNTguMjUyMXw2NDMuNTU2fDUyNS4wOHw3NC42MjI=)' />
<polyline points='616.95,525.08 616.95,74.62 ' style='stroke-width: 0.21; stroke: #2B2B2B; stroke-opacity: 0.60; stroke-linecap: butt;' clip-path='url(#cpNTguMjUyMXw2NDMuNTU2fDUyNS4wOHw3NC42MjI=)' />
<circle cx='84.86' cy='504.61' r='1.95pt' style='stroke-width: 0.71; stroke: #F8766D; fill: #F8766D;' clip-path='url(#cpNTguMjUyMXw2NDMuNTU2fDUyNS4wOHw3NC42MjI=)' />
<circle cx='350.90' cy='299.85' r='1.95pt' style='stroke-width: 0.71; stroke: #00BFC4; fill: #00BFC4;' clip-path='url(#cpNTguMjUyMXw2NDMuNTU2fDUyNS4wOHw3NC42MjI=)' />
<circle cx='616.95' cy='95.10' r='1.95pt' style='stroke-width: 0.71; stroke: #F8766D; fill: #F8766D;' clip-path='url(#cpNTguMjUyMXw2NDMuNTU2fDUyNS4wOHw3NC42MjI=)' />
<polyline points='62.38,451.39 643.56,451.39 ' style='stroke-width: 0.32; stroke: #CCCCCC; stroke-linecap: butt;' clip-path='url(#cpNjIuMzc3Mnw2NDMuNTU2fDUyMi41ODJ8NzUuMTIwMQ==)' />
<polyline points='62.38,349.70 643.56,349.70 ' style='stroke-width: 0.32; stroke: #CCCCCC; stroke-linecap: butt;' clip-path='url(#cpNjIuMzc3Mnw2NDMuNTU2fDUyMi41ODJ8NzUuMTIwMQ==)' />
<polyline points='62.38,248.00 643.56,248.00 ' style='stroke-width: 0.32; stroke: #CCCCCC; stroke-linecap: butt;' clip-path='url(#cpNjIuMzc3Mnw2NDMuNTU2fDUyMi41ODJ8NzUuMTIwMQ==)' />
<polyline points='62.38,146.31 643.56,146.31 ' style='stroke-width: 0.32; stroke: #CCCCCC; stroke-linecap: butt;' clip-path='url(#cpNjIuMzc3Mnw2NDMuNTU2fDUyMi41ODJ8NzUuMTIwMQ==)' />
<polyline points='154.84,522.58 154.84,75.12 ' style='stroke-width: 0.32; stroke: #CCCCCC; stroke-linecap: butt;' clip-path='url(#cpNjIuMzc3Mnw2NDMuNTU2fDUyMi41ODJ8NzUuMTIwMQ==)' />
<polyline points='286.92,522.58 286.92,75.12 ' style='stroke-width: 0.32; stroke: #CCCCCC; stroke-linecap: butt;' clip-path='url(#cpNjIuMzc3Mnw2NDMuNTU2fDUyMi41ODJ8NzUuMTIwMQ==)' />
<polyline points='419.01,522.58 419.01,75.12 ' style='stroke-width: 0.32; stroke: #CCCCCC; stroke-linecap: butt;' clip-path='url(#cpNjIuMzc3Mnw2NDMuNTU2fDUyMi41ODJ8NzUuMTIwMQ==)' />
<polyline points='551.10,522.58 551.10,75.12 ' style='stroke-width: 0.32; stroke: #CCCCCC; stroke-linecap: butt;' clip-path='url(#cpNjIuMzc3Mnw2NDMuNTU2fDUyMi41ODJ8NzUuMTIwMQ==)' />
<polyline points='62.38,502.24 643.56,502.24 ' style='stroke-width: 0.43; stroke: #CCCCCC; stroke-linecap: butt;' clip-path='url(#cpNjIuMzc3Mnw2NDMuNTU2fDUyMi41ODJ8NzUuMTIwMQ==)' />
<polyline points='62.38,400.55 643.56,400.55 ' style='stroke-width: 0.43; stroke: #CCCCCC; stroke-linecap: butt;' clip-path='url(#cpNjIuMzc3Mnw2NDMuNTU2fDUyMi41ODJ8NzUuMTIwMQ==)' />
<polyline points='62.38,298.85 643.56,298.85 ' style='stroke-width: 0.43; stroke: #CCCCCC; stroke-linecap: butt;' clip-path='url(#cpNjIuMzc3Mnw2NDMuNTU2fDUyMi41ODJ8NzUuMTIwMQ==)' />
<polyline points='62.38,197.16 643.56,197.16 ' style='stroke-width: 0.43; stroke: #CCCCCC; stroke-linecap: butt;' clip-path='url(#cpNjIuMzc3Mnw2NDMuNTU2fDUyMi41ODJ8NzUuMTIwMQ==)' />
<polyline points='62.38,95.46 643.56,95.46 ' style='stroke-width: 0.43; stroke: #CCCCCC; stroke-linecap: butt;' clip-path='url(#cpNjIuMzc3Mnw2NDMuNTU2fDUyMi41ODJ8NzUuMTIwMQ==)' />
<polyline points='88.79,522.58 88.79,75.12 ' style='stroke-width: 0.43; stroke: #CCCCCC; stroke-linecap: butt;' clip-path='url(#cpNjIuMzc3Mnw2NDMuNTU2fDUyMi41ODJ8NzUuMTIwMQ==)' />
<polyline points='220.88,522.58 220.88,75.12 ' style='stroke-width: 0.43; stroke: #CCCCCC; stroke-linecap: butt;' clip-path='url(#cpNjIuMzc3Mnw2NDMuNTU2fDUyMi41ODJ8NzUuMTIwMQ==)' />
<polyline points='352.97,522.58 352.97,75.12 ' style='stroke-width: 0.43; stroke: #CCCCCC; stroke-linecap: butt;' clip-path='url(#cpNjIuMzc3Mnw2NDMuNTU2fDUyMi41ODJ8NzUuMTIwMQ==)' />
<polyline points='485.05,522.58 485.05,75.12 ' style='stroke-width: 0.43; stroke: #CCCCCC; stroke-linecap: butt;' clip-path='url(#cpNjIuMzc3Mnw2NDMuNTU2fDUyMi41ODJ8NzUuMTIwMQ==)' />
<polyline points='617.14,522.58 617.14,75.12 ' style='stroke-width: 0.43; stroke: #CCCCCC; stroke-linecap: butt;' clip-path='url(#cpNjIuMzc3Mnw2NDMuNTU2fDUyMi41ODJ8NzUuMTIwMQ==)' />
<circle cx='88.79' cy='502.24' r='1.95pt' style='stroke-width: 0.71; stroke: #F8766D; fill: #F8766D;' clip-path='url(#cpNjIuMzc3Mnw2NDMuNTU2fDUyMi41ODJ8NzUuMTIwMQ==)' />
<circle cx='352.97' cy='298.85' r='1.95pt' style='stroke-width: 0.71; stroke: #00BFC4; fill: #00BFC4;' clip-path='url(#cpNjIuMzc3Mnw2NDMuNTU2fDUyMi41ODJ8NzUuMTIwMQ==)' />
<circle cx='617.14' cy='95.46' r='1.95pt' style='stroke-width: 0.71; stroke: #F8766D; fill: #F8766D;' clip-path='url(#cpNjIuMzc3Mnw2NDMuNTU2fDUyMi41ODJ8NzUuMTIwMQ==)' />
<defs>
<clipPath id='cpMHw3MjB8NTc2fDA='>
<rect x='0.00' y='0.00' width='720.00' height='576.00' />
</clipPath>
</defs>
<defs>
<clipPath id='cpNTguMjUyMXw2NDMuNTU2fDc0LjYyMnw1NS4xMzE4'>
<rect x='58.25' y='55.13' width='585.30' height='19.49' />
<clipPath id='cpNjIuMzc3Mnw2NDMuNTU2fDc1LjEyMDF8NTUuMTMxOA=='>
<rect x='62.38' y='55.13' width='581.18' height='19.99' />
</clipPath>
</defs>
<g clip-path='url(#cpNTguMjUyMXw2NDMuNTU2fDc0LjYyMnw1NS4xMzE4)'><text x='58.25' y='69.14' style='font-size: 12.00px; fill: #1A1A1A; font-family: Roboto Condensed;' textLength='5.92px' lengthAdjust='spacingAndGlyphs'>1</text></g>
<g clip-path='url(#cpNjIuMzc3Mnw2NDMuNTU2fDc1LjEyMDF8NTUuMTMxOA==)'><text x='62.38' y='69.39' style='font-size: 12.00px; fill: #1A1A1A; font-family: Roboto Condensed;' textLength='5.92px' lengthAdjust='spacingAndGlyphs'>1</text></g>
<defs>
<clipPath id='cpMHw3MjB8NTc2fDA='>
<rect x='0.00' y='0.00' width='720.00' height='576.00' />
</clipPath>
</defs>
<g clip-path='url(#cpMHw3MjB8NTc2fDA=)'><text x='79.23' y='534.23' style='font-size: 8.80px; fill: #4D4D4D; font-family: Roboto Condensed;' textLength='11.25px' lengthAdjust='spacingAndGlyphs'>1.0</text></g>
<g clip-path='url(#cpMHw3MjB8NTc2fDA=)'><text x='212.25' y='534.23' style='font-size: 8.80px; fill: #4D4D4D; font-family: Roboto Condensed;' textLength='11.25px' lengthAdjust='spacingAndGlyphs'>1.5</text></g>
<g clip-path='url(#cpMHw3MjB8NTc2fDA=)'><text x='345.28' y='534.23' style='font-size: 8.80px; fill: #4D4D4D; font-family: Roboto Condensed;' textLength='11.25px' lengthAdjust='spacingAndGlyphs'>2.0</text></g>
<g clip-path='url(#cpMHw3MjB8NTc2fDA=)'><text x='478.30' y='534.23' style='font-size: 8.80px; fill: #4D4D4D; font-family: Roboto Condensed;' textLength='11.25px' lengthAdjust='spacingAndGlyphs'>2.5</text></g>
<g clip-path='url(#cpMHw3MjB8NTc2fDA=)'><text x='611.32' y='534.23' style='font-size: 8.80px; fill: #4D4D4D; font-family: Roboto Condensed;' textLength='11.25px' lengthAdjust='spacingAndGlyphs'>3.0</text></g>
<g clip-path='url(#cpMHw3MjB8NTc2fDA=)'><text x='44.26' y='507.81' style='font-size: 8.80px; fill: #4D4D4D; font-family: Roboto Condensed;' textLength='11.25px' lengthAdjust='spacingAndGlyphs'>1.0</text></g>
<g clip-path='url(#cpMHw3MjB8NTc2fDA=)'><text x='44.26' y='405.43' style='font-size: 8.80px; fill: #4D4D4D; font-family: Roboto Condensed;' textLength='11.25px' lengthAdjust='spacingAndGlyphs'>1.5</text></g>
<g clip-path='url(#cpMHw3MjB8NTc2fDA=)'><text x='44.26' y='303.05' style='font-size: 8.80px; fill: #4D4D4D; font-family: Roboto Condensed;' textLength='11.25px' lengthAdjust='spacingAndGlyphs'>2.0</text></g>
<g clip-path='url(#cpMHw3MjB8NTc2fDA=)'><text x='44.26' y='200.68' style='font-size: 8.80px; fill: #4D4D4D; font-family: Roboto Condensed;' textLength='11.25px' lengthAdjust='spacingAndGlyphs'>2.5</text></g>
<g clip-path='url(#cpMHw3MjB8NTc2fDA=)'><text x='44.26' y='98.30' style='font-size: 8.80px; fill: #4D4D4D; font-family: Roboto Condensed;' textLength='11.25px' lengthAdjust='spacingAndGlyphs'>3.0</text></g>
<g clip-path='url(#cpMHw3MjB8NTc2fDA=)'><text x='81.29' y='533.98' style='font-size: 11.50px; fill: #4D4D4D; font-family: Roboto Condensed;' textLength='15.01px' lengthAdjust='spacingAndGlyphs'>1.0</text></g>
<g clip-path='url(#cpMHw3MjB8NTc2fDA=)'><text x='213.38' y='533.98' style='font-size: 11.50px; fill: #4D4D4D; font-family: Roboto Condensed;' textLength='15.01px' lengthAdjust='spacingAndGlyphs'>1.5</text></g>
<g clip-path='url(#cpMHw3MjB8NTc2fDA=)'><text x='345.46' y='533.98' style='font-size: 11.50px; fill: #4D4D4D; font-family: Roboto Condensed;' textLength='15.01px' lengthAdjust='spacingAndGlyphs'>2.0</text></g>
<g clip-path='url(#cpMHw3MjB8NTc2fDA=)'><text x='477.55' y='533.98' style='font-size: 11.50px; fill: #4D4D4D; font-family: Roboto Condensed;' textLength='15.01px' lengthAdjust='spacingAndGlyphs'>2.5</text></g>
<g clip-path='url(#cpMHw3MjB8NTc2fDA=)'><text x='609.64' y='533.98' style='font-size: 11.50px; fill: #4D4D4D; font-family: Roboto Condensed;' textLength='15.01px' lengthAdjust='spacingAndGlyphs'>3.0</text></g>
<g clip-path='url(#cpMHw3MjB8NTc2fDA=)'><text x='44.51' y='506.51' style='font-size: 11.50px; fill: #4D4D4D; font-family: Roboto Condensed;' textLength='15.01px' lengthAdjust='spacingAndGlyphs'>1.0</text></g>
<g clip-path='url(#cpMHw3MjB8NTc2fDA=)'><text x='44.51' y='404.81' style='font-size: 11.50px; fill: #4D4D4D; font-family: Roboto Condensed;' textLength='15.01px' lengthAdjust='spacingAndGlyphs'>1.5</text></g>
<g clip-path='url(#cpMHw3MjB8NTc2fDA=)'><text x='44.51' y='303.12' style='font-size: 11.50px; fill: #4D4D4D; font-family: Roboto Condensed;' textLength='15.01px' lengthAdjust='spacingAndGlyphs'>2.0</text></g>
<g clip-path='url(#cpMHw3MjB8NTc2fDA=)'><text x='44.51' y='201.42' style='font-size: 11.50px; fill: #4D4D4D; font-family: Roboto Condensed;' textLength='15.01px' lengthAdjust='spacingAndGlyphs'>2.5</text></g>
<g clip-path='url(#cpMHw3MjB8NTc2fDA=)'><text x='44.51' y='99.72' style='font-size: 11.50px; fill: #4D4D4D; font-family: Roboto Condensed;' textLength='15.01px' lengthAdjust='spacingAndGlyphs'>3.0</text></g>
<g clip-path='url(#cpMHw3MjB8NTc2fDA=)'><text x='639.61' y='546.11' style='font-size: 9.00px; font-family: Roboto Condensed;' textLength='3.95px' lengthAdjust='spacingAndGlyphs'>x</text></g>
<g clip-path='url(#cpMHw3MjB8NTc2fDA=)'><text transform='translate(36.29,78.37) rotate(-90)' style='font-size: 9.00px; font-family: Roboto Condensed;' textLength='3.75px' lengthAdjust='spacingAndGlyphs'>y</text></g>
<g clip-path='url(#cpMHw3MjB8NTc2fDA=)'><text x='660.56' y='284.33' style='font-size: 11.00px; font-family: Roboto Condensed;' textLength='4.83px' lengthAdjust='spacingAndGlyphs'>z</text></g>
<circle cx='669.20' cy='297.29' r='1.95pt' style='stroke-width: 0.71; stroke: #F8766D; fill: #F8766D;' clip-path='url(#cpMHw3MjB8NTc2fDA=)' />
<circle cx='669.20' cy='314.57' r='1.95pt' style='stroke-width: 0.71; stroke: #00BFC4; fill: #00BFC4;' clip-path='url(#cpMHw3MjB8NTc2fDA=)' />
<g clip-path='url(#cpMHw3MjB8NTc2fDA=)'><text x='680.00' y='300.49' style='font-size: 8.80px; font-family: Roboto Condensed;' textLength='4.31px' lengthAdjust='spacingAndGlyphs'>a</text></g>
<g clip-path='url(#cpMHw3MjB8NTc2fDA=)'><text x='680.00' y='317.77' style='font-size: 8.80px; font-family: Roboto Condensed;' textLength='4.44px' lengthAdjust='spacingAndGlyphs'>b</text></g>
<g clip-path='url(#cpMHw3MjB8NTc2fDA=)'><text x='58.25' y='42.68' style='font-size: 18.00px; font-weight: bold; font-family: Roboto Condensed;' textLength='117.44px' lengthAdjust='spacingAndGlyphs'>theme_ipsum_rc</text></g>
<g clip-path='url(#cpMHw3MjB8NTc2fDA=)'><text transform='translate(36.29,78.87) rotate(-90)' style='font-size: 9.00px; font-family: Roboto Condensed;' textLength='3.75px' lengthAdjust='spacingAndGlyphs'>y</text></g>
<g clip-path='url(#cpMHw3MjB8NTc2fDA=)'><text x='660.56' y='283.68' style='font-size: 11.50px; font-family: Roboto Condensed;' textLength='5.27px' lengthAdjust='spacingAndGlyphs'>z</text></g>
<circle cx='669.20' cy='296.64' r='1.95pt' style='stroke-width: 0.71; stroke: #F8766D; fill: #F8766D;' clip-path='url(#cpMHw3MjB8NTc2fDA=)' />
<circle cx='669.20' cy='313.92' r='1.95pt' style='stroke-width: 0.71; stroke: #00BFC4; fill: #00BFC4;' clip-path='url(#cpMHw3MjB8NTc2fDA=)' />
<g clip-path='url(#cpMHw3MjB8NTc2fDA=)'><text x='680.00' y='299.84' style='font-size: 9.20px; font-family: Roboto Condensed;' textLength='4.31px' lengthAdjust='spacingAndGlyphs'>a</text></g>
<g clip-path='url(#cpMHw3MjB8NTc2fDA=)'><text x='680.00' y='317.12' style='font-size: 9.20px; font-family: Roboto Condensed;' textLength='4.44px' lengthAdjust='spacingAndGlyphs'>b</text></g>
<g clip-path='url(#cpMHw3MjB8NTc2fDA=)'><text x='62.38' y='42.68' style='font-size: 18.00px; font-weight: bold; font-family: Roboto Condensed;' textLength='117.44px' lengthAdjust='spacingAndGlyphs'>theme_ipsum_rc</text></g>
</svg>

Before

Width:  |  Height:  |  Size: 8.7 KiB

After

Width:  |  Height:  |  Size: 8.4 KiB

86
tests/figs/themes/theme-ipsum.svg

@ -13,63 +13,63 @@
</defs>
<rect width='100%' height='100%' style='stroke: none; fill: #FFFFFF;'/>
<defs>
<clipPath id='cpNTcuMjkwMnw2NDMuODl8NTI1LjAxOHw3NC43Nzgy'>
<rect x='57.29' y='74.78' width='586.60' height='450.24' />
<clipPath id='cpNjEuMDg0Mnw2NDMuODl8NTIyLjQ4OHw3NS4yNzYz'>
<rect x='61.08' y='75.28' width='582.81' height='447.21' />
</clipPath>
</defs>
<polyline points='57.29,453.39 643.89,453.39 ' style='stroke-width: 0.11; stroke: #CCCCCC; stroke-linecap: butt;' clip-path='url(#cpNTcuMjkwMnw2NDMuODl8NTI1LjAxOHw3NC43Nzgy)' />
<polyline points='57.29,351.06 643.89,351.06 ' style='stroke-width: 0.11; stroke: #CCCCCC; stroke-linecap: butt;' clip-path='url(#cpNTcuMjkwMnw2NDMuODl8NTI1LjAxOHw3NC43Nzgy)' />
<polyline points='57.29,248.73 643.89,248.73 ' style='stroke-width: 0.11; stroke: #CCCCCC; stroke-linecap: butt;' clip-path='url(#cpNTcuMjkwMnw2NDMuODl8NTI1LjAxOHw3NC43Nzgy)' />
<polyline points='57.29,146.41 643.89,146.41 ' style='stroke-width: 0.11; stroke: #CCCCCC; stroke-linecap: butt;' clip-path='url(#cpNTcuMjkwMnw2NDMuODl8NTI1LjAxOHw3NC43Nzgy)' />
<polyline points='150.61,525.02 150.61,74.78 ' style='stroke-width: 0.11; stroke: #CCCCCC; stroke-linecap: butt;' clip-path='url(#cpNTcuMjkwMnw2NDMuODl8NTI1LjAxOHw3NC43Nzgy)' />
<polyline points='283.93,525.02 283.93,74.78 ' style='stroke-width: 0.11; stroke: #CCCCCC; stroke-linecap: butt;' clip-path='url(#cpNTcuMjkwMnw2NDMuODl8NTI1LjAxOHw3NC43Nzgy)' />
<polyline points='417.25,525.02 417.25,74.78 ' style='stroke-width: 0.11; stroke: #CCCCCC; stroke-linecap: butt;' clip-path='url(#cpNTcuMjkwMnw2NDMuODl8NTI1LjAxOHw3NC43Nzgy)' />
<polyline points='550.57,525.02 550.57,74.78 ' style='stroke-width: 0.11; stroke: #CCCCCC; stroke-linecap: butt;' clip-path='url(#cpNTcuMjkwMnw2NDMuODl8NTI1LjAxOHw3NC43Nzgy)' />
<polyline points='57.29,504.55 643.89,504.55 ' style='stroke-width: 0.21; stroke: #CCCCCC; stroke-linecap: butt;' clip-path='url(#cpNTcuMjkwMnw2NDMuODl8NTI1LjAxOHw3NC43Nzgy)' />
<polyline points='57.29,402.23 643.89,402.23 ' style='stroke-width: 0.21; stroke: #CCCCCC; stroke-linecap: butt;' clip-path='url(#cpNTcuMjkwMnw2NDMuODl8NTI1LjAxOHw3NC43Nzgy)' />
<polyline points='57.29,299.90 643.89,299.90 ' style='stroke-width: 0.21; stroke: #CCCCCC; stroke-linecap: butt;' clip-path='url(#cpNTcuMjkwMnw2NDMuODl8NTI1LjAxOHw3NC43Nzgy)' />
<polyline points='57.29,197.57 643.89,197.57 ' style='stroke-width: 0.21; stroke: #CCCCCC; stroke-linecap: butt;' clip-path='url(#cpNTcuMjkwMnw2NDMuODl8NTI1LjAxOHw3NC43Nzgy)' />
<polyline points='57.29,95.24 643.89,95.24 ' style='stroke-width: 0.21; stroke: #CCCCCC; stroke-linecap: butt;' clip-path='url(#cpNTcuMjkwMnw2NDMuODl8NTI1LjAxOHw3NC43Nzgy)' />
<polyline points='83.95,525.02 83.95,74.78 ' style='stroke-width: 0.21; stroke: #CCCCCC; stroke-linecap: butt;' clip-path='url(#cpNTcuMjkwMnw2NDMuODl8NTI1LjAxOHw3NC43Nzgy)' />
<polyline points='217.27,525.02 217.27,74.78 ' style='stroke-width: 0.21; stroke: #CCCCCC; stroke-linecap: butt;' clip-path='url(#cpNTcuMjkwMnw2NDMuODl8NTI1LjAxOHw3NC43Nzgy)' />
<polyline points='350.59,525.02 350.59,74.78 ' style='stroke-width: 0.21; stroke: #CCCCCC; stroke-linecap: butt;' clip-path='url(#cpNTcuMjkwMnw2NDMuODl8NTI1LjAxOHw3NC43Nzgy)' />
<polyline points='483.91,525.02 483.91,74.78 ' style='stroke-width: 0.21; stroke: #CCCCCC; stroke-linecap: butt;' clip-path='url(#cpNTcuMjkwMnw2NDMuODl8NTI1LjAxOHw3NC43Nzgy)' />
<polyline points='617.23,525.02 617.23,74.78 ' style='stroke-width: 0.21; stroke: #CCCCCC; stroke-linecap: butt;' clip-path='url(#cpNTcuMjkwMnw2NDMuODl8NTI1LjAxOHw3NC43Nzgy)' />
<circle cx='83.95' cy='504.55' r='1.95pt' style='stroke-width: 0.71; stroke: #F8766D; fill: #F8766D;' clip-path='url(#cpNTcuMjkwMnw2NDMuODl8NTI1LjAxOHw3NC43Nzgy)' />
<circle cx='350.59' cy='299.90' r='1.95pt' style='stroke-width: 0.71; stroke: #00BFC4; fill: #00BFC4;' clip-path='url(#cpNTcuMjkwMnw2NDMuODl8NTI1LjAxOHw3NC43Nzgy)' />
<circle cx='617.23' cy='95.24' r='1.95pt' style='stroke-width: 0.71; stroke: #F8766D; fill: #F8766D;' clip-path='url(#cpNTcuMjkwMnw2NDMuODl8NTI1LjAxOHw3NC43Nzgy)' />
<polyline points='61.08,451.34 643.89,451.34 ' style='stroke-width: 0.32; stroke: #CCCCCC; stroke-linecap: butt;' clip-path='url(#cpNjEuMDg0Mnw2NDMuODl8NTIyLjQ4OHw3NS4yNzYz)' />
<polyline points='61.08,349.70 643.89,349.70 ' style='stroke-width: 0.32; stroke: #CCCCCC; stroke-linecap: butt;' clip-path='url(#cpNjEuMDg0Mnw2NDMuODl8NTIyLjQ4OHw3NS4yNzYz)' />
<polyline points='61.08,248.06 643.89,248.06 ' style='stroke-width: 0.32; stroke: #CCCCCC; stroke-linecap: butt;' clip-path='url(#cpNjEuMDg0Mnw2NDMuODl8NTIyLjQ4OHw3NS4yNzYz)' />
<polyline points='61.08,146.42 643.89,146.42 ' style='stroke-width: 0.32; stroke: #CCCCCC; stroke-linecap: butt;' clip-path='url(#cpNjEuMDg0Mnw2NDMuODl8NTIyLjQ4OHw3NS4yNzYz)' />
<polyline points='153.80,522.49 153.80,75.28 ' style='stroke-width: 0.32; stroke: #CCCCCC; stroke-linecap: butt;' clip-path='url(#cpNjEuMDg0Mnw2NDMuODl8NTIyLjQ4OHw3NS4yNzYz)' />
<polyline points='286.26,522.49 286.26,75.28 ' style='stroke-width: 0.32; stroke: #CCCCCC; stroke-linecap: butt;' clip-path='url(#cpNjEuMDg0Mnw2NDMuODl8NTIyLjQ4OHw3NS4yNzYz)' />
<polyline points='418.72,522.49 418.72,75.28 ' style='stroke-width: 0.32; stroke: #CCCCCC; stroke-linecap: butt;' clip-path='url(#cpNjEuMDg0Mnw2NDMuODl8NTIyLjQ4OHw3NS4yNzYz)' />
<polyline points='551.17,522.49 551.17,75.28 ' style='stroke-width: 0.32; stroke: #CCCCCC; stroke-linecap: butt;' clip-path='url(#cpNjEuMDg0Mnw2NDMuODl8NTIyLjQ4OHw3NS4yNzYz)' />
<polyline points='61.08,502.16 643.89,502.16 ' style='stroke-width: 0.43; stroke: #CCCCCC; stroke-linecap: butt;' clip-path='url(#cpNjEuMDg0Mnw2NDMuODl8NTIyLjQ4OHw3NS4yNzYz)' />
<polyline points='61.08,400.52 643.89,400.52 ' style='stroke-width: 0.43; stroke: #CCCCCC; stroke-linecap: butt;' clip-path='url(#cpNjEuMDg0Mnw2NDMuODl8NTIyLjQ4OHw3NS4yNzYz)' />
<polyline points='61.08,298.88 643.89,298.88 ' style='stroke-width: 0.43; stroke: #CCCCCC; stroke-linecap: butt;' clip-path='url(#cpNjEuMDg0Mnw2NDMuODl8NTIyLjQ4OHw3NS4yNzYz)' />
<polyline points='61.08,197.24 643.89,197.24 ' style='stroke-width: 0.43; stroke: #CCCCCC; stroke-linecap: butt;' clip-path='url(#cpNjEuMDg0Mnw2NDMuODl8NTIyLjQ4OHw3NS4yNzYz)' />
<polyline points='61.08,95.60 643.89,95.60 ' style='stroke-width: 0.43; stroke: #CCCCCC; stroke-linecap: butt;' clip-path='url(#cpNjEuMDg0Mnw2NDMuODl8NTIyLjQ4OHw3NS4yNzYz)' />
<polyline points='87.58,522.49 87.58,75.28 ' style='stroke-width: 0.43; stroke: #CCCCCC; stroke-linecap: butt;' clip-path='url(#cpNjEuMDg0Mnw2NDMuODl8NTIyLjQ4OHw3NS4yNzYz)' />
<polyline points='220.03,522.49 220.03,75.28 ' style='stroke-width: 0.43; stroke: #CCCCCC; stroke-linecap: butt;' clip-path='url(#cpNjEuMDg0Mnw2NDMuODl8NTIyLjQ4OHw3NS4yNzYz)' />
<polyline points='352.49,522.49 352.49,75.28 ' style='stroke-width: 0.43; stroke: #CCCCCC; stroke-linecap: butt;' clip-path='url(#cpNjEuMDg0Mnw2NDMuODl8NTIyLjQ4OHw3NS4yNzYz)' />
<polyline points='484.94,522.49 484.94,75.28 ' style='stroke-width: 0.43; stroke: #CCCCCC; stroke-linecap: butt;' clip-path='url(#cpNjEuMDg0Mnw2NDMuODl8NTIyLjQ4OHw3NS4yNzYz)' />
<polyline points='617.40,522.49 617.40,75.28 ' style='stroke-width: 0.43; stroke: #CCCCCC; stroke-linecap: butt;' clip-path='url(#cpNjEuMDg0Mnw2NDMuODl8NTIyLjQ4OHw3NS4yNzYz)' />
<circle cx='87.58' cy='502.16' r='1.95pt' style='stroke-width: 0.71; stroke: #F8766D; fill: #F8766D;' clip-path='url(#cpNjEuMDg0Mnw2NDMuODl8NTIyLjQ4OHw3NS4yNzYz)' />
<circle cx='352.49' cy='298.88' r='1.95pt' style='stroke-width: 0.71; stroke: #00BFC4; fill: #00BFC4;' clip-path='url(#cpNjEuMDg0Mnw2NDMuODl8NTIyLjQ4OHw3NS4yNzYz)' />
<circle cx='617.40' cy='95.60' r='1.95pt' style='stroke-width: 0.71; stroke: #F8766D; fill: #F8766D;' clip-path='url(#cpNjEuMDg0Mnw2NDMuODl8NTIyLjQ4OHw3NS4yNzYz)' />
<defs>
<clipPath id='cpMHw3MjB8NTc2fDA='>
<rect x='0.00' y='0.00' width='720.00' height='576.00' />
</clipPath>
</defs>
<defs>
<clipPath id='cpNTcuMjkwMnw2NDMuODl8NzQuNzc4Mnw1NS4yMjU2'>
<rect x='57.29' y='55.23' width='586.60' height='19.55' />
<clipPath id='cpNjEuMDg0Mnw2NDMuODl8NzUuMjc2M3w1NS4yMjU2'>
<rect x='61.08' y='55.23' width='582.81' height='20.05' />
</clipPath>
</defs>
<g clip-path='url(#cpNTcuMjkwMnw2NDMuODl8NzQuNzc4Mnw1NS4yMjU2)'><text x='57.29' y='69.30' style='font-size: 12.00px; fill: #1A1A1A; font-family: Arial Narrow;' textLength='5.47px' lengthAdjust='spacingAndGlyphs'>1</text></g>
<g clip-path='url(#cpNjEuMDg0Mnw2NDMuODl8NzUuMjc2M3w1NS4yMjU2)'><text x='61.08' y='69.55' style='font-size: 12.00px; fill: #1A1A1A; font-family: Arial Narrow;' textLength='5.47px' lengthAdjust='spacingAndGlyphs'>1</text></g>
<defs>
<clipPath id='cpMHw3MjB8NTc2fDA='>
<rect x='0.00' y='0.00' width='720.00' height='576.00' />
</clipPath>
</defs>
<g clip-path='url(#cpMHw3MjB8NTc2fDA=)'><text x='78.82' y='534.20' style='font-size: 8.80px; fill: #4D4D4D; font-family: Arial Narrow;' textLength='10.26px' lengthAdjust='spacingAndGlyphs'>1.0</text></g>
<g clip-path='url(#cpMHw3MjB8NTc2fDA=)'><text x='212.14' y='534.20' style='font-size: 8.80px; fill: #4D4D4D; font-family: Arial Narrow;' textLength='10.26px' lengthAdjust='spacingAndGlyphs'>1.5</text></g>
<g clip-path='url(#cpMHw3MjB8NTc2fDA=)'><text x='345.46' y='534.20' style='font-size: 8.80px; fill: #4D4D4D; font-family: Arial Narrow;' textLength='10.26px' lengthAdjust='spacingAndGlyphs'>2.0</text></g>
<g clip-path='url(#cpMHw3MjB8NTc2fDA=)'><text x='478.78' y='534.20' style='font-size: 8.80px; fill: #4D4D4D; font-family: Arial Narrow;' textLength='10.26px' lengthAdjust='spacingAndGlyphs'>2.5</text></g>
<g clip-path='url(#cpMHw3MjB8NTc2fDA=)'><text x='612.10' y='534.20' style='font-size: 8.80px; fill: #4D4D4D; font-family: Arial Narrow;' textLength='10.26px' lengthAdjust='spacingAndGlyphs'>3.0</text></g>
<g clip-path='url(#cpMHw3MjB8NTc2fDA=)'><text x='44.29' y='507.77' style='font-size: 8.80px; fill: #4D4D4D; font-family: Arial Narrow;' textLength='10.26px' lengthAdjust='spacingAndGlyphs'>1.0</text></g>
<g clip-path='url(#cpMHw3MjB8NTc2fDA=)'><text x='44.29' y='405.44' style='font-size: 8.80px; fill: #4D4D4D; font-family: Arial Narrow;' textLength='10.26px' lengthAdjust='spacingAndGlyphs'>1.5</text></g>
<g clip-path='url(#cpMHw3MjB8NTc2fDA=)'><text x='44.29' y='303.12' style='font-size: 8.80px; fill: #4D4D4D; font-family: Arial Narrow;' textLength='10.26px' lengthAdjust='spacingAndGlyphs'>2.0</text></g>
<g clip-path='url(#cpMHw3MjB8NTc2fDA=)'><text x='44.29' y='200.79' style='font-size: 8.80px; fill: #4D4D4D; font-family: Arial Narrow;' textLength='10.26px' lengthAdjust='spacingAndGlyphs'>2.5</text></g>
<g clip-path='url(#cpMHw3MjB8NTc2fDA=)'><text x='44.29' y='98.46' style='font-size: 8.80px; fill: #4D4D4D; font-family: Arial Narrow;' textLength='10.26px' lengthAdjust='spacingAndGlyphs'>3.0</text></g>
<g clip-path='url(#cpMHw3MjB8NTc2fDA=)'><text x='80.73' y='533.95' style='font-size: 11.50px; fill: #4D4D4D; font-family: Arial Narrow;' textLength='13.68px' lengthAdjust='spacingAndGlyphs'>1.0</text></g>
<g clip-path='url(#cpMHw3MjB8NTc2fDA=)'><text x='213.19' y='533.95' style='font-size: 11.50px; fill: #4D4D4D; font-family: Arial Narrow;' textLength='13.68px' lengthAdjust='spacingAndGlyphs'>1.5</text></g>
<g clip-path='url(#cpMHw3MjB8NTc2fDA=)'><text x='345.65' y='533.95' style='font-size: 11.50px; fill: #4D4D4D; font-family: Arial Narrow;' textLength='13.68px' lengthAdjust='spacingAndGlyphs'>2.0</text></g>
<g clip-path='url(#cpMHw3MjB8NTc2fDA=)'><text x='478.10' y='533.95' style='font-size: 11.50px; fill: #4D4D4D; font-family: Arial Narrow;' textLength='13.68px' lengthAdjust='spacingAndGlyphs'>2.5</text></g>
<g clip-path='url(#cpMHw3MjB8NTc2fDA=)'><text x='610.56' y='533.95' style='font-size: 11.50px; fill: #4D4D4D; font-family: Arial Narrow;' textLength='13.68px' lengthAdjust='spacingAndGlyphs'>3.0</text></g>
<g clip-path='url(#cpMHw3MjB8NTc2fDA=)'><text x='44.54' y='506.46' style='font-size: 11.50px; fill: #4D4D4D; font-family: Arial Narrow;' textLength='13.68px' lengthAdjust='spacingAndGlyphs'>1.0</text></g>
<g clip-path='url(#cpMHw3MjB8NTc2fDA=)'><text x='44.54' y='404.82' style='font-size: 11.50px; fill: #4D4D4D; font-family: Arial Narrow;' textLength='13.68px' lengthAdjust='spacingAndGlyphs'>1.5</text></g>
<g clip-path='url(#cpMHw3MjB8NTc2fDA=)'><text x='44.54' y='303.18' style='font-size: 11.50px; fill: #4D4D4D; font-family: Arial Narrow;' textLength='13.68px' lengthAdjust='spacingAndGlyphs'>2.0</text></g>
<g clip-path='url(#cpMHw3MjB8NTc2fDA=)'><text x='44.54' y='201.54' style='font-size: 11.50px; fill: #4D4D4D; font-family: Arial Narrow;' textLength='13.68px' lengthAdjust='spacingAndGlyphs'>2.5</text></g>
<g clip-path='url(#cpMHw3MjB8NTc2fDA=)'><text x='44.54' y='99.90' style='font-size: 11.50px; fill: #4D4D4D; font-family: Arial Narrow;' textLength='13.68px' lengthAdjust='spacingAndGlyphs'>3.0</text></g>
<g clip-path='url(#cpMHw3MjB8NTc2fDA=)'><text x='640.20' y='546.11' style='font-size: 9.00px; font-family: Arial Narrow;' textLength='3.69px' lengthAdjust='spacingAndGlyphs'>x</text></g>
<g clip-path='url(#cpMHw3MjB8NTc2fDA=)'><text transform='translate(36.33,78.47) rotate(-90)' style='font-size: 9.00px; font-family: Arial Narrow;' textLength='3.69px' lengthAdjust='spacingAndGlyphs'>y</text></g>
<g clip-path='url(#cpMHw3MjB8NTc2fDA=)'><text x='660.90' y='284.40' style='font-size: 11.00px; font-family: Arial Narrow;' textLength='4.51px' lengthAdjust='spacingAndGlyphs'>z</text></g>
<circle cx='669.54' cy='297.36' r='1.95pt' style='stroke-width: 0.71; stroke: #F8766D; fill: #F8766D;' clip-path='url(#cpMHw3MjB8NTc2fDA=)' />
<circle cx='669.54' cy='314.64' r='1.95pt' style='stroke-width: 0.71; stroke: #00BFC4; fill: #00BFC4;' clip-path='url(#cpMHw3MjB8NTc2fDA=)' />
<g clip-path='url(#cpMHw3MjB8NTc2fDA=)'><text x='680.34' y='300.57' style='font-size: 8.80px; font-family: Arial Narrow;' textLength='4.10px' lengthAdjust='spacingAndGlyphs'>a</text></g>
<g clip-path='url(#cpMHw3MjB8NTc2fDA=)'><text x='680.34' y='317.85' style='font-size: 8.80px; font-family: Arial Narrow;' textLength='4.10px' lengthAdjust='spacingAndGlyphs'>b</text></g>
<g clip-path='url(#cpMHw3MjB8NTc2fDA=)'><text x='57.29' y='42.78' style='font-size: 18.00px; font-weight: bold; font-family: Arial Narrow;' textLength='95.15px' lengthAdjust='spacingAndGlyphs'>theme_ipsum</text></g>
<g clip-path='url(#cpMHw3MjB8NTc2fDA=)'><text transform='translate(36.33,78.97) rotate(-90)' style='font-size: 9.00px; font-family: Arial Narrow;' textLength='3.69px' lengthAdjust='spacingAndGlyphs'>y</text></g>
<g clip-path='url(#cpMHw3MjB8NTc2fDA=)'><text x='660.90' y='283.74' style='font-size: 11.50px; font-family: Arial Narrow;' textLength='4.92px' lengthAdjust='spacingAndGlyphs'>z</text></g>
<circle cx='669.54' cy='296.70' r='1.95pt' style='stroke-width: 0.71; stroke: #F8766D; fill: #F8766D;' clip-path='url(#cpMHw3MjB8NTc2fDA=)' />
<circle cx='669.54' cy='313.98' r='1.95pt' style='stroke-width: 0.71; stroke: #00BFC4; fill: #00BFC4;' clip-path='url(#cpMHw3MjB8NTc2fDA=)' />
<g clip-path='url(#cpMHw3MjB8NTc2fDA=)'><text x='680.34' y='299.92' style='font-size: 9.20px; font-family: Arial Narrow;' textLength='4.10px' lengthAdjust='spacingAndGlyphs'>a</text></g>
<g clip-path='url(#cpMHw3MjB8NTc2fDA=)'><text x='680.34' y='317.20' style='font-size: 9.20px; font-family: Arial Narrow;' textLength='4.10px' lengthAdjust='spacingAndGlyphs'>b</text></g>
<g clip-path='url(#cpMHw3MjB8NTc2fDA=)'><text x='61.08' y='42.78' style='font-size: 18.00px; font-weight: bold; font-family: Arial Narrow;' textLength='95.15px' lengthAdjust='spacingAndGlyphs'>theme_ipsum</text></g>
</svg>

Before

Width:  |  Height:  |  Size: 8.3 KiB

After

Width:  |  Height:  |  Size: 8.3 KiB

Loading…
Cancel
Save