diff --git a/client/homebrew/editor/snippetbar/snippetbar.less b/client/homebrew/editor/snippetbar/snippetbar.less
index 80444a7e4..cb24da105 100644
--- a/client/homebrew/editor/snippetbar/snippetbar.less
+++ b/client/homebrew/editor/snippetbar/snippetbar.less
@@ -96,6 +96,7 @@
padding : 0px;
background-color : #ddd;
.snippet{
+ position: relative;
.animate(background-color);
display : flex;
align-items : center;
diff --git a/client/icons/Davek.svg b/client/icons/Davek.svg
new file mode 100644
index 000000000..0f2324ce2
--- /dev/null
+++ b/client/icons/Davek.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/client/icons/Iokharic.svg b/client/icons/Iokharic.svg
new file mode 100644
index 000000000..983c42354
--- /dev/null
+++ b/client/icons/Iokharic.svg
@@ -0,0 +1 @@
+
diff --git a/client/icons/Rellanic.svg b/client/icons/Rellanic.svg
new file mode 100644
index 000000000..d03447baa
--- /dev/null
+++ b/client/icons/Rellanic.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/client/icons/customIcons.less b/client/icons/customIcons.less
index 28cbcdf24..775f252d3 100644
--- a/client/icons/customIcons.less
+++ b/client/icons/customIcons.less
@@ -37,3 +37,12 @@
.book-front-cover {
content: url('../icons/book-front-cover.svg');
}
+.davek {
+ content: url('../icons/Davek.svg');
+}
+.rellanic {
+ content: url('../icons/Rellanic.svg');
+}
+.iokharic {
+ content: url('../icons/Iokharic.svg');
+}
diff --git a/themes/V3/5ePHB/snippets.js b/themes/V3/5ePHB/snippets.js
index 5ccd2db9e..68d5cc596 100644
--- a/themes/V3/5ePHB/snippets.js
+++ b/themes/V3/5ePHB/snippets.js
@@ -3,6 +3,7 @@
const MagicGen = require('./snippets/magic.gen.js');
const ClassTableGen = require('./snippets/classtable.gen.js');
const MonsterBlockGen = require('./snippets/monsterblock.gen.js');
+const scriptGen = require('./snippets/script.gen.js');
const ClassFeatureGen = require('./snippets/classfeature.gen.js');
const CoverPageGen = require('./snippets/coverpage.gen.js');
const TableOfContentsGen = require('./snippets/tableOfContents.gen.js');
@@ -232,7 +233,30 @@ module.exports = [
name : '1/3 Class Table (unframed)',
icon : 'fas fa-border-none',
gen : ClassTableGen.third('classTable'),
- }
+ },
+ {
+ name : 'Rune Table',
+ icon : 'fas fa-language',
+ gen : scriptGen.dwarvish,
+ experimental : true,
+ subsnippets : [
+ {
+ name : 'Dwarvish',
+ icon : 'fac davek',
+ gen : scriptGen.dwarvish,
+ },
+ {
+ name : 'Elvish',
+ icon : 'fac rellanic',
+ gen : scriptGen.elvish,
+ },
+ {
+ name : 'Draconic',
+ icon : 'fac iokharic',
+ gen : scriptGen.draconic,
+ },
+ ]
+ },
]
},
diff --git a/themes/V3/5ePHB/snippets/script.gen.js b/themes/V3/5ePHB/snippets/script.gen.js
new file mode 100644
index 000000000..61f56ec5f
--- /dev/null
+++ b/themes/V3/5ePHB/snippets/script.gen.js
@@ -0,0 +1,48 @@
+const _ = require('lodash');
+const dedent = require('dedent-tabs').default;
+
+module.exports = {
+ dwarvish : ()=>{
+ return dedent `##### Dwarvish Runes: Sample Alphabet
+ {{runeTable,wide,frame,font-family:Davek
+ | a | b | c | d | e | f | g | h | i | j | k | l | m |
+ |:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|
+ | a | b | c | d | e | f | g | h | i | j | k | l | m |
+ :
+ | n | o | p | q | r | s | t | u | v | w | x | y | z |
+ |:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|
+ | n | o | p | q | r | s | t | u | v | w | x | y | z |
+ }}\n\n`;
+ },
+ elvish : ()=>{
+ return dedent `##### Elvish Runes: Sample Alphabet
+ {{runeTable,wide,frame,font-family:Rellanic
+ | a | b | c | d | e | f | g | h | i | j | k | l | m |
+ |:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|
+ | a | b | c | d | e | f | g | h | i | j | k | l | m |
+ :
+ | n | o | p | q | r | s | t | u | v | w | x | y | z |
+ |:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|
+ | n | o | p | q | r | s | t | u | v | w | x | y | z |
+ }}\n\n`;
+ },
+ draconic : ()=>{
+ return dedent `##### Draconic Runes: Sample Alphabet
+ {{runeTable,wide,frame,font-family:Iokharic
+ | a | b | c | d | e | f | g | h | i | j | k | l | m |
+ |:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|
+ | a | b | c | d | e | f | g | h | i | j | k | l | m |
+ :
+ | n | o | p | q | r | s | t | u | v | w | x | y | z |
+ |:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|
+ | n | o | p | q | r | s | t | u | v | w | x | y | z |
+ }}\n\n`;
+ }
+
+
+};
+
+
+()=>{
+
+};
diff --git a/themes/V3/5ePHB/style.less b/themes/V3/5ePHB/style.less
index ee799b697..c75cf0a1a 100644
--- a/themes/V3/5ePHB/style.less
+++ b/themes/V3/5ePHB/style.less
@@ -901,3 +901,43 @@ break-inside : avoid;
.page h1 + *{
margin-top : 0;
}
+
+//*****************************
+// * RUNE TABLE
+// *****************************/
+.page {
+ .runeTable {
+ margin-block: 0.7cm;
+ table {
+ font-family : inherit;
+ tbody tr {
+ background: unset;
+ }
+ th, td {
+ width: 1.3cm;
+ height: 1.3cm;
+ vertical-align: middle;
+ text-transform: uppercase;
+ outline: 1px solid #000;
+ font-weight: normal;
+ }
+ th{
+ font-family: BookInsanityRemake;
+ font-size: 0.45cm;
+ }
+ td {
+ font-size: 0.7cm;
+ }
+ }
+
+ &.frame {
+ border: initial;
+ border-style: solid;
+ border-image-outset: .45cm .35cm .4cm .4cm;
+ border-image-repeat: stretch;
+ border-image-slice: 170;
+ border-image-source: @scriptBorder;
+ border-image-width: 1.4cm;
+ }
+ }
+}
diff --git a/themes/assets/assets.less b/themes/assets/assets.less
index 1f61bf89e..f50799916 100644
--- a/themes/assets/assets.less
+++ b/themes/assets/assets.less
@@ -13,6 +13,7 @@
@naturalCritLogo : url('/assets/naturalCritLogo.svg');
@coverPageBanner : url('/assets/coverPageBanner.svg');
@horizontalRule : url('/assets/horizontalRule.svg');
+@scriptBorder : url('/assets/scriptBorder.png');
// Watercolor Images
@watercolor1 : url('/assets/watercolor/watercolor1.png');
diff --git a/themes/assets/scriptBorder.png b/themes/assets/scriptBorder.png
new file mode 100644
index 000000000..05d481a97
Binary files /dev/null and b/themes/assets/scriptBorder.png differ
diff --git a/themes/fonts/5e/Davek.woff2 b/themes/fonts/5e/Davek.woff2
new file mode 100644
index 000000000..69a7de83c
Binary files /dev/null and b/themes/fonts/5e/Davek.woff2 differ
diff --git a/themes/fonts/5e/Iokharic.woff2 b/themes/fonts/5e/Iokharic.woff2
new file mode 100644
index 000000000..2ceb7c6b7
Binary files /dev/null and b/themes/fonts/5e/Iokharic.woff2 differ
diff --git a/themes/fonts/5e/Rellanic.woff2 b/themes/fonts/5e/Rellanic.woff2
new file mode 100644
index 000000000..add898f45
Binary files /dev/null and b/themes/fonts/5e/Rellanic.woff2 differ
diff --git a/themes/fonts/5e/fonts.less b/themes/fonts/5e/fonts.less
index 5257dfce4..a83399567 100644
--- a/themes/fonts/5e/fonts.less
+++ b/themes/fonts/5e/fonts.less
@@ -113,3 +113,23 @@
font-weight: 500;
font-style: normal;
}
+
+@font-face {
+ font-family: Davek;
+ src: url('../../../fonts/5e/Davek.woff2');
+ font-weight: 500;
+ font-style: normal;
+}
+
+@font-face {
+ font-family: Iokharic;
+ src: url('../../../fonts/5e/Iokharic.woff2');
+ font-weight: 500;
+ font-style: normal;
+}
+@font-face {
+ font-family: Rellanic;
+ src: url('../../../fonts/5e/Rellanic.woff2');
+ font-weight: 500;
+ font-style: normal;
+}