JSFiddle - React, Tailwind, and code Playground

HTML

<script src="https://d3plus.org/js/d3plus-text.v0.9.full.min.js"></script>

<div class="box">
  <svg id="chinese"></svg>
  <span>Simplified Chinese</span>
</div>

CSS

body {
  font-family: "Roboto", "Helvetica Neue", "Helvetica", sans-serif;
  line-height: 1.4em;
  margin: 25px 0;
  padding: 0;
  text-align: center;
}

.box {
  display: inline-block;
  font-size: 15px;
  margin: 25px 30px 0;
  text-align: left;
  vertical-align: top;
}

span {
  color: #888;
  display: block;
  font-size: 12px;
  margin-top: 5px;
  text-align: center;
  width: 100%;
}

p, svg {
  border: 1px solid #ccc;
  height: 110px;
  margin: 0;
  overflow: hidden;
  width: 150px;
}

JavaScript

var data = [{"height": 110, "width": 150}];

new d3plus.TextBox()
  .data(data)
  .fontResize(true)
  .fontSize(15)
  .select("#chinese")
  .text("这是句3。Here is some sample text that has been wrapped using d3plus.textBox.即使句子没有空格")
  .render();