Skip to content

Commit

Permalink
Font Awesome 5.13.0
Browse files Browse the repository at this point in the history
  • Loading branch information
minimaxir committed May 28, 2020
1 parent af4d55a commit 6c27315
Show file tree
Hide file tree
Showing 6 changed files with 40 additions and 40 deletions.
72 changes: 36 additions & 36 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,12 @@ Generate stylistic wordclouds, including gradients and icon shapes!

stylecloud is a Python package that leverages the popular [word_cloud](https://github.com/amueller/word_cloud) package, adding useful features to create truly unique word clouds!

* Icon shapes (of any size!) for wordclouds (via [Font Awesome](https://fontawesome.com) 5.12.0 Free, or your own [Font Awesome Pro](https://github.com/minimaxir/stylecloud-examples/tree/master/fa-pro))
* Support for advanced color palettes (via [palettable](https://jiffyclub.github.io/palettable/))
* Manual color selection for text and backgrounds,
* Directional gradients w/ the aforementioned palettes.
* Supports reading text files and CSVs (either one-column w/ texts, or two columns w/ words+weights).
* Command Line Interface!
- Icon shapes (of any size!) for wordclouds (via [Font Awesome](https://fontawesome.com) 5.13.0 Free, or your own [Font Awesome Pro](https://github.com/minimaxir/stylecloud-examples/tree/master/fa-pro))
- Support for advanced color palettes (via [palettable](https://jiffyclub.github.io/palettable/))
- Manual color selection for text and backgrounds,
- Directional gradients w/ the aforementioned palettes.
- Supports reading text files and CSVs (either one-column w/ texts, or two columns w/ words+weights).
- Command Line Interface!

This package is a more formal implementation of my [stylistic word cloud project](https://minimaxir.com/2016/05/wordclouds/) from 2016.

Expand Down Expand Up @@ -105,46 +105,46 @@ Good resources for stopwords in other languages are the [stop-words Python packa

These parameters are valid for both the Python function and the CLI (you can use `stylecloud -h` to get this information as well).

* text: Input text. Best used if calling the function directly.
* file_path: File path of the input text/CSV. Best used on the CLI.
* gradient: Direction of gradient. (if not None, the stylecloud will use a directional gradient) [default: `None`]
* size: Size (length and width in pixels) of the stylecloud, or a two-element tuple representing the width and height of the stylecloud (e.g. `'(1024, 512)'` for a 1024x512 stylecloud). [default: `512`]
* icon_name: Icon Name for the stylecloud shape. (e.g. 'fas fa-grin') [default: `fas fa-flag`]
* palette: Color palette (via palettable) [default: `cartocolors.qualitative.Bold_5`]
* colors: Color(s) to use as the text colors. Overrides both gradient and palette if specified [default: `None`]
* background_color: Background color (name or hex) [default: `white`]
* max_font_size: Maximum font size in the stylecloud. [default: `200`]
* max_words: Maximum number of words to include in the stylecloud. [default: `2000`]
* stopwords: Boolean to filter out common stopwords. [default: `True`]
* custom_stopwords: list of custom stopwords. e.g: For other languages than english [default: `STOPWORDS`, via `word_cloud`]
* output_name: Output file name of the stylecloud. [default: `stylecloud.png`]
* font_path: Path to .ttf file for font to use in stylecloud. [default: uses included Staatliches font]
* random_state: Controls random state of words and colors. [default: `None`]
* collocations: Whether to include collocations (bigrams) of two words. Same behavior as base `word_cloud` package. [default: `True`]
* invert_mask: Whether to invert the icon mask, so the words fill the space *except* the icon mask. [default: `False`]
* pro_icon_path: Path to Font Awesome Pro .ttf file if using FA Pro. [default: `None`]
* pro_css_path: Path to Font Awesome Pro .css file if using FA Pro. [default: `None`]
- text: Input text. Best used if calling the function directly.
- file_path: File path of the input text/CSV. Best used on the CLI.
- gradient: Direction of gradient. (if not None, the stylecloud will use a directional gradient) [default: `None`]
- size: Size (length and width in pixels) of the stylecloud, or a two-element tuple representing the width and height of the stylecloud (e.g. `'(1024, 512)'` for a 1024x512 stylecloud). [default: `512`]
- icon_name: Icon Name for the stylecloud shape. (e.g. 'fas fa-grin') [default: `fas fa-flag`]
- palette: Color palette (via palettable) [default: `cartocolors.qualitative.Bold_5`]
- colors: Color(s) to use as the text colors. Overrides both gradient and palette if specified [default: `None`]
- background_color: Background color (name or hex) [default: `white`]
- max_font_size: Maximum font size in the stylecloud. [default: `200`]
- max_words: Maximum number of words to include in the stylecloud. [default: `2000`]
- stopwords: Boolean to filter out common stopwords. [default: `True`]
- custom_stopwords: list of custom stopwords. e.g: For other languages than english [default: `STOPWORDS`, via `word_cloud`]
- output_name: Output file name of the stylecloud. [default: `stylecloud.png`]
- font_path: Path to .ttf file for font to use in stylecloud. [default: uses included Staatliches font]
- random_state: Controls random state of words and colors. [default: `None`]
- collocations: Whether to include collocations (bigrams) of two words. Same behavior as base `word_cloud` package. [default: `True`]
- invert_mask: Whether to invert the icon mask, so the words fill the space _except_ the icon mask. [default: `False`]
- pro_icon_path: Path to Font Awesome Pro .ttf file if using FA Pro. [default: `None`]
- pro_css_path: Path to Font Awesome Pro .css file if using FA Pro. [default: `None`]

## Helpful Notes

* The primary goal of this package is to create data visualizations of text that provide a unique aesthetic. Word clouds have tradeoffs in terms of a statistically robust data visualization, but this is explicitly prioritizing coolness!
* This package is released as a separate package from `word_cloud` due to the increase in scope and Python dependencies.
* The ideal fonts for generating a good stylecloud are a) bold/high weight in order to increase readability, and b) condensed/low kerning to fit more text. Both of these traits are why [Staatliches](https://fonts.google.com/specimen/Staatliches) is the default font for stylecloud (overriding Droid Sans in the base `word_cloud`).
* You may want to consider doing post-processing after generating a stylecloud: for example, adding color masks, adding perception skew, feed it to a style transfer AI model, etc.
* The default `max_font_size` of `200` is calibrated for the default `size` of `512`. If you increase the `size`, you may want to consider increasing `max_font_size` as well.
* Due to the size of the included Font Awesome font files, they will not be updated on every new minor FA release.
* It's recommended to use FA icons which are large with heavy weight; thin icons might constrain the text too much.
* If using the default random-color-sampling method, it's recommended to use a qualitative palette. Inversely, if using a gradient, it's recommended to use a *non*qualitative palette (e.g. a sequential palette).
- The primary goal of this package is to create data visualizations of text that provide a unique aesthetic. Word clouds have tradeoffs in terms of a statistically robust data visualization, but this is explicitly prioritizing coolness!
- This package is released as a separate package from `word_cloud` due to the increase in scope and Python dependencies.
- The ideal fonts for generating a good stylecloud are a) bold/high weight in order to increase readability, and b) condensed/low kerning to fit more text. Both of these traits are why [Staatliches](https://fonts.google.com/specimen/Staatliches) is the default font for stylecloud (overriding Droid Sans in the base `word_cloud`).
- You may want to consider doing post-processing after generating a stylecloud: for example, adding color masks, adding perception skew, feed it to a style transfer AI model, etc.
- The default `max_font_size` of `200` is calibrated for the default `size` of `512`. If you increase the `size`, you may want to consider increasing `max_font_size` as well.
- Due to the size of the included Font Awesome font files, they will not be updated on every new minor FA release.
- It's recommended to use FA icons which are large with heavy weight; thin icons might constrain the text too much.
- If using the default random-color-sampling method, it's recommended to use a qualitative palette. Inversely, if using a gradient, it's recommended to use a *non*qualitative palette (e.g. a sequential palette).

# Projects Using stylecloud

* [twcloud](https://github.com/minimaxir/twcloud) — Python package + CLI to generate wordclouds of Twitter tweets.
- [twcloud](https://github.com/minimaxir/twcloud) — Python package + CLI to generate wordclouds of Twitter tweets.

## Maintainer/Creator

Max Woolf ([@minimaxir](https://minimaxir.com))

*Max's open-source projects are supported by his [Patreon](https://www.patreon.com/minimaxir) and [GitHub Sponsors](https://github.com/sponsors/minimaxir). If you found this project helpful, any monetary contributions to the Patreon are appreciated and will be put to good creative use.*
_Max's open-source projects are supported by his [Patreon](https://www.patreon.com/minimaxir) and [GitHub Sponsors](https://github.com/sponsors/minimaxir). If you found this project helpful, any monetary contributions to the Patreon are appreciated and will be put to good creative use._

## License

Expand Down
4 changes: 2 additions & 2 deletions setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
stylecloud is a Python package that leverages the popular [word_cloud](https://github.com/amueller/word_cloud) package, adding useful features to create truly unique word clouds!
* Icon shapes (of any size!) for wordclouds (via [Font Awesome](https://fontawesome.com) 5.12.0 Free, or your own Font Awesome Pro)
* Icon shapes (of any size!) for wordclouds (via [Font Awesome](https://fontawesome.com) 5.13.0 Free, or your own Font Awesome Pro)
* Support for advanced color palettes (via [palettable](https://jiffyclub.github.io/palettable/))
* Manual color selection for text and backgrounds,
* Directional gradients w/ the aforementioned palettes.
Expand All @@ -19,7 +19,7 @@
setup(
name="stylecloud",
packages=["stylecloud"], # this must be the same as the name above
version="0.4.3",
version="0.5.0",
description="Python package + CLI to generate stylistic wordclouds, "
"including gradients and icon shapes!",
long_description=long_description,
Expand Down
Binary file modified stylecloud/static/fa-brands-400.ttf
Binary file not shown.
Binary file modified stylecloud/static/fa-regular-400.ttf
Binary file not shown.
Binary file modified stylecloud/static/fa-solid-900.ttf
Binary file not shown.
4 changes: 2 additions & 2 deletions stylecloud/static/fontawesome.min.css

Large diffs are not rendered by default.

0 comments on commit 6c27315

Please sign in to comment.