Question: I'm a real beginner in CSS...
Do you know how could I do this sort of alignment ? I try a lot a things but I don't get what I need... So I just draw it if you have any code idea...

```html
<div id="sys-wrap">
  <img src="image.png">
  <p>Long message texte</p>
</div>

```

```css
#sys-wrap {}    
#sys-wrap p {
  border: 1px solid #ffffff;
  float:left;
  margin: 15px;
  width: 691px;
}
#sys-wrap img {
  border: 1px solid #ffffff;
  float: left;
  margin: 15px 15px 15px 100px; 
  vertical-align: top;
}

```

Thanks!

[![Screenshot](https://i.stack.imgur.com/DQQQJ.jpg)](https://i.stack.imgur.com/DQQQJ.jpg)  

(source: [imgsafe.org](https://i.imgsafe.org/f1501914cc.jpg))

Answer: 
It's possible to randomly generate high or low surrogates. If this results in a low surrogate, or a high surrogate not followed by a low surrogate, the resulting string is invalid. The solution is to simply exclude all surrogates:

```
if (!Character.isDefined(codePoint)
    || (codePoint <= Character.MAX_CHAR && Character.isSurrogate((char)codePoint))
    || Character.getType(codePoint) == Character.PRIVATE_USE) {
  continue;
}

```

Alternatively, it should work to only look at the type returned from `getType`:

```
int type = Character.getType(codePoint);
if (type == Character.PRIVATE_USE ||
    type == Character.SURROGATE ||
    type == Character.UNASSIGNED)
    continue;

```

(Technically, you could also allow randomly generated high surrogates and add another random low surrogate, but this would only create other random code points >= 0x10000 which might in turn be undefined or for private use.)
You need to exclude *all* surrogate *orphans* (i.e. high-surrogate as well as low-surrogate ones). 

FYI, next excerpt from [UnicodeData.txt](ftp://ftp.unicode.org/Public/UNIDATA/UnicodeData.txt) shows codepoint intervals for surrogates:

> 
> 
> ```none
> D800;<Non Private Use High Surrogate, First>;Cs;0;L;;;;;N;;;;;
> DB7F;<Non Private Use High Surrogate, Last>;Cs;0;L;;;;;N;;;;;
> DB80;<Private Use High Surrogate, First>;Cs;0;L;;;;;N;;;;;
> DBFF;<Private Use High Surrogate, Last>;Cs;0;L;;;;;N;;;;;
> DC00;<Low Surrogate, First>;Cs;0;L;;;;;N;;;;;
> DFFF;<Low Surrogate, Last>;Cs;0;L;;;;;N;;;;;
> 
> ```
> 
>